본문 바로가기

Analysis/ML5

[sklearn] 교차 검증 모델이 훈련 세트보다 테스트 세트에서 예측을 잘 하는 것이 중요 1. 교차 검증 (Cross-Validation) K-kold가 대표적 - K개의 데이터로 분할 train_test_split 은 무작위로 한번 나누는 것 교차검증은 최악의 경우와 최선의 경우를 짐작 가능하게 함 데이터를 효과적으로 사용 가능, 연산 비용이 늘어남 모델을 만드는 것이 아닌, 잘 일반화될지 평가하는 것 from sklearn.model_selection import cross_val_score cross_val_score( model, X_data, y_data, cv =n ) 적어도 5겹 이상 사용할 것 주로 scores.mean() 으로 평균내어 최종 검증 정확도 사용 계층별 k-겹 사용 from sklearn.model_.. 2021. 5. 11.
[sklearn] 특성 공학 특성 공학 Feature Engineering : 특정 애플리케이션에 가장 적합한 데이터 표현 찾는 것 1. 범주형 변수 One-hot-encoding - value_counts로 unique 값 먼저 확인 pd.get_dummies 는 숫자 범주형 특성은 .astype(str)로 문자열 특성으로 바꿔주어야 함 from sklearn.proprocessing import OneHotEncoder sklearn의 OneHotEncoder(sparse=False)는 모두 범주형이라고 가정, 숫자/문자열 모두 바꿈 ohe.fit_transform(data) 2. 연속형 변수 - 스케일 조정 from sklearn.compose import ColumnTransformer sklearn의 ColumnTransf.. 2021. 5. 11.
[sklearn] 비지도학습 1. EDA 스케일 조정 StandardScaler RobustScaler MinMaxScaler Normalizer 지도 정보를 사용하지 않으므로 비지도 방식 fit_transform은 훈련셋에서, transform은 테스트셋에서 사용 2. 데이터 비지도 변환 차원축소, 특성추출, 매니폴드 학습 - 시각화, 압축, 추가 처리 PCA 주성분 분석 특성들이 통계적으로 상관관계 없도록 데이터셋 회전, 분산이 작은 주성분 덜어냄 특성 개수만큼 주성분 존재 고차원 데이터셋 시각화 주요 상호작용 찾아낼 수 있음 X축 - 첫번째 주성분 / Y축 - 두번째 주성분 두 축을 해석하기가 쉽지가 않음 데이터를 산점도로 시각화 가능 NMF 비음수 행렬 분해 특성 추출 t-SNE 2차원 산점도로 시각화 - 매니폴드 3. 군집.. 2021. 5. 10.
[sklearn] 지도학습 모델의 가정과 매개변수의 의미를 제대로 이해하는 것이 중요 알고리즘 종류 특징 전처리 중요 매개변수 KNN 최근접 이웃 (회귀), (분류) 작은 데이터셋 기본 모델 설명하기 용이 특성이 많을 때는 부적절 희소한 데이터셋에 잘 작동 스케일링 O metric 거리 재는 법 n_neighbors 이웃 수 Linear Model 선형 모형 (회귀) Linear Regression Ridge Lasso (분류) Logistic Regression Linear SVC 첫번째 시도 알고리즘 속도가 빠름 희소한 큰 데이터셋 잘 작동 대용량 데이터셋은 Logistic과 Ridge에 solver ='sag' 옵션 줌 선형 모델 대용량 처리버전으로 나온 SGD회귀/분류 사용 특성이 많을수록 잘 작동 스케일링 O L1,L2 .. 2021. 5. 10.
[sklearn / statsmodels] 선형회귀 Linear Regression 1. 독립변수와 종속변수의 관계 살펴보기 - scatter plot import pandas as pd import seaborn as sns from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split #df sns.pairplot(df[["MEDV", "RM", "AGE", "CHAS"]]) plt.show() #X #y X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) 2. 선형회귀 - scikit-learn, statsmodels 패키지 비교 scikit-learn은 상수항 결합을 자동으로 해줘 add_constan.. 2021. 1. 31.