sklearn
-
sklearn, numpy를 활용한 데이터 차원축소데이터분석 2019. 10. 15. 19:13
가용 변수가 너무 많은 경우 데이터분석 패키지들을 이용해 데이터 차원축소를 진행합니다. 데이터 차원축소는 두 가지 방법이 있습니다. 먼저 변수선택을 통해 차원을 축소할 수 있고, 또 다른 방법은 더 작은 차원으로 특성들을 이동하는 것입니다. 01. PCA (주성분분석) n차원의 데이터 공간에서 가장 분산이 큰 방향의 k차원으로 이동(mapping)합니다(단, n>k). 분산이 큰 방향은 데이터 scale에 민감하므로, PCA를 적용하기 전 표준화 작업이 선행돼야 합니다. PCA의 pseudo code는 아래와 같습니다. 원본 데이터를 표준화합니다. 표준화 또는 정규화된 데이터의 공분산 행렬을 생성합니다. 공분산 행렬에서 고유 벡터(eigenvector)와 고윳값(eigenvalue)을 계산합니다. 고윳값..
-
sklearn, pandas, numpy를 활용한 데이터 전처리데이터분석 2019. 10. 14. 20:01
sklearn, pandas, numpy를 활용하여 데이터 전처리를 진행합니다. 01. 누락값 대체 사이킷런의 SimpleImputer 클래스를 활용하면 누락값을 간편하게 처리할 수 있습니다. 한 번 학습된 Imputer는 새로운 데이터 셋에 대해서도 동일하게 처리를 해주어 편리합니다. train set 기준의 평균, 중간값 또는 최빈값으로 새로운 데이터의 null값을 채웁니다. import numpy as np from sklearn.impute import SimpleImputer # 각 열에서의 최빈값으로 null을 대체 # 대체 전략은 mean, median, most_frequent 가 가능함 ipt = SimpleImputer(missing_values=np.nan, strategy='most..
-
sklearn basic 01데이터분석 2019. 10. 10. 20:25
sklearn의 기초 사용법에 대해 학습합니다. 01. 데이터 나누기 from sklearn.model_selection import train_test_split # Train / Validation Split을 손쉽게 수행 X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=1, stratify=y ) # 결과 확인 print(np.bincount(y)) print(np.bincount(y_train)) print(np.bincount(y_test)) 02. 단위 표준화 (Scaling) # scaler를 생성하고, 학습데이터로 학습 from sklearn.preprocessing import St..