일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- python3
- SQL
- 데이터 분석
- pandas
- R
- 실습
- level 1
- 빅데이터 분석 기사
- 빅분기
- Numpy
- 실기
- 머신러닝
- Oracel
- sklearn
- level 2
- seaborn
- Kaggle
- 파이썬
- 오라클
- oracle
- 카카오
- 알고리즘
- Python
- 프로그래머스
- 튜닝
- 코딩테스트
- matplotlib
- Today
- Total
목록분류 전체보기 (324)
라일락 꽃이 피는 날
1. 데이터셋 분할 학습(train) / 검증(validation) / 테스트(test) 셋으로 분할 학습(70~90%) / 검증(10~20%) / 테스트(10~20%) 비율로 분할 일반화가 가능한지 검증하고 적합한 모델인지 확인 2. 데이터 전처리 - 목적 변수(y)는 건드리지 않고 특성치(x)는 정규화 진행 정규화는 모든 단위를 동일하게 만드는 과정 ① 표준화 (standardization) : 평균 0, 표준편차 1 ② 최대-최소 (Min-Max) 정규화 : 최댓값 1, 최솟값 0 - 범주형 자료는 데이터 셋을 나누기 전에 원 핫 인코딩 진행 (one-hot encoding) - 고차원 자료의 경우 PCA로 차원 축소 3. 모델 학습 3-1. 지도 학습 ① 분류 - 로지스틱 회귀모델 ② 회귀 - 선..
이상치 확인 # 상자수염도표 그리기 df.boxplot(column='컬럼명') 이상치 처리 1. 이상치 기준을 IQR로 하여 제거 IQR = Q3 (3사분위수) - Q1 (1사분위수) IQR = df['컬럼명'].quantile(0.75) - df['컬럼명'].quantile(0.25) IQR × 1.5 보다 크거나 작은 값을 제거하여 새로운 데이터셋에 할당 df_new = df[(df['컬럼명'] Q1 - IQR * 1.5 )] 2. 로그(log) 변환 변수를 log 변환하여 새로운 변수로 생성 df['log_컬럼명'] = np.log(df['컬럼명']) 3. 제곱근(sqrt) 변환 변수를 sqrt 변환하여 새로운 변수로 생성 df['sqr..
데이터 파일 불러오기 # csv 파일 불러오기 df = pd.read_csv('파일명.csv') # excel 파일 불러오기 df = pd.read_excel('파일명.xlsx') # 한글이 깨질 경우 df = pd.read_csv('파일명.csv', encoding='euc-kr') 데이터 프레임 확인하기 # 처음 행 5개 출력 df.head() # 마지막 행 5개 출력 df.tail() # 특정 행 출력 df[1:5] # Series 형태 열 출력 df['컬럼명'] df.컬럼명 # DataFrame 형태 열 출력 df[['컬럼명']] # 특정 열 출력 df[df.columns[[0, 2, 4]]] df.loc[:, '컬럼명1':'컬럼명2'] # 컬럼명2 포함 df.iloc[:, 0:2] # 인덱스 2..

HDBSCAN 알고리즘 [HDBSCAN 특징] - DBSCAN에서 Hierarchical가 합쳐진 알고리즘 - different sizes, densities, noise, arbitrary shapes인 데이터에 적합 - 계층적 구조를 반영한 clustering 가능 1.다양한 분포와 사이즈의 데이터 생성 from sklearn.datasets import make_blobs # make_moons : 달 모양 군집 생성 # make_blobs : 원 모양 군집 생성 # centers 옵션으로 중심점 지정 # cluster_std 옵션으로 분포도 지정 moons, _ = make_moons(n_samples=100, noise=0.05) blobs1, _ = make_blobs(n_samples=50,..

DBSCAN 알고리즘 [DBSCAN 장점] - K-means와 달리 최초 k(군집수)를 직접 할당하지 않음 - Density(밀도)에 따라서 군집을 나누기 때문에, 기하학적인 모양을 갖는 분포도 적용 가능 - Oulier 구분 가능 1. 비구형(nonspherical) 데이터 생성 from sklearn.datasets import make_moons # DBSCAN 알고리즘을 적용시킬 비구형 분포 데이터 생성 moon_data, moon_labels = make_moons(n_samples=400, noise=0.1, random_state=42) moon_data[:5] # array 형태의 데이터를 Dataframe 형태로 변경 moon_data_df = pd.DataFrame(moon_data, ..

Clustering : Agglomerative 알고리즘 (계층군집) [Hierarchical clustering 장점] - cluster 수(k)를 정하지 않아도 사용 가능 - random point에서 시작하지 않으므로 동일한 결과가 나옴 - dendrogram을 통해 전체적인 군집 확인 가능 (nested clusters) [Hierarchical clustering 단점] - 대용량 데이터는 계산이 많아서 비효율적 1. Agglomerative 모듈 훈련 [AgglomerativeClustering 파라미터 참고사항] - linkage 종류 : {‘ward’, ‘complete’, ‘average’, ‘single’} - linkage="ward"이면, affinity="euclidean" - d..

데이터 정보 sepal length (cm): 꽃받침 길이 sepal width (cm): 꽃받침 폭 petal length (cm): 꽃잎 길이 petal width (cm): 꽃잎 폭 target: 꽃 종류 (0: Setosa, 1: Versicolor, 2: Virginica) 데이터셋 준비 import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # iris 데이터셋 불러오기 iris = load_iris() # array 형태의 데이터를 Dataframe으로 변환 iris_df = pd.DataFrame(data=iris..

https://www.kaggle.com/antgoldbloom/covid19-data-from-john-hopkins-university COVID-19 data from John Hopkins University Updated daily at 6am UTC in both raw and convenient form www.kaggle.com 데이터 정보 Country/Region: 국가 Province/State: 지방/주 Lat: 지역의 위도 Long: 지역의 경도 날짜: 각 날짜의 확진자/사망자 수 데이터셋 준비 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns df_case = pd..