오차행렬 confustion matrix ¶ 오차행렬: 학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고 있는지도 함께 보여주는 지표. 이진 분류의 예측 오류가 얼마인지와 더불어 어떤 유형의 예측 오류가 발생하는지 나타냄 예측 클래스와 실제 클래스의 값 유형에 따라 결정되는 TN, FP, FN, TP 형태로 오차 행렬의 4분면을 채움 TN, FP, FN, TP는 Positive 결정값(1)과 Negative 결정값(0)의 결합에 따라 결정됨 sklearn은 confusion_matrix()를 제공 앞에서 사용한 MyFakeClassifier의 예측 성능 지표를 오차행렬로 표현하기¶ In [1]: from sklearn.datasets import load_digits from sklearn.model..
성능 평가 지표 Evaluation Metric¶ 분류의 성능평가 지표 ¶ 1. 정확도 accuracy ¶ 실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표 직관적으로 모델 예측 성능을 나타냄 그러나 이진 분류(0 또는 1)의 경우, 데이터의 구성에 따라 ML모델의 성능을 왜곡할 수 있음 사이킷런의 BaseEstimator를 활용하여 단순히 성별에 따라 생존자를 예측하는 classifier 생성¶ In [28]: import numpy as np from sklearn.base import BaseEstimator class MyDummyClassifier(BaseEstimator): # fit 메서드는 아무것도 학습하지 않음 def fit(self, X, y=None): pass #predi..
(데이콘 커뮤니티에서 참고함 https://dacon.io/codeshare/4526) sklearn으로 데이터 스케일링(Data Scaling)하는 5가지 방법🔥 dacon.io 데이터 스케일링 Data Scaling 피처들마다 데이터값 범위가 제각각이기 때문에 범위 차이가 클 경우, 모델링에 방해가 됨 스케일링을 통해 모든 피처들의 데이터 분포나 범위를 동일하게 조정해줄 수 있음 훈련용 데이터셋은 fit 메서드를 적용시킨 후 transform, 테스트용 데이터셋에는 transform만 적용 In [45]: #라이브러리 정의 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sk..
데이터 전처리 Data Preprocessing 문자열 값을 입력값으로 허용하지 않음, 모든 문자열 값은 인코딩돼서 숫자형으로 변환해야 함 데이터 인코딩 레이블 인코딩 Label Encoding 카테고리 feature를 코드형 숫자값으로 변환하는 것 LabelEncoder 클래스로 구현 In [2]: from sklearn.preprocessing import LabelEncoder items = ['TV', '냉장고', '전자레인지', '컴퓨터', '선풍기', '선풍기', '믹서', '믹서'] #LabelEncoder를 객체로 생성 후 fit과 transform으로 레이블 인코딩 수행 encoder = LabelEncoder() encoder.fit(items) labels = encoder.trans..
GridSearchCV - 교차 검증과 최적 하이퍼 파라미터 튜닝을 한 번에 ¶ 하이퍼 파라미터 값을 조정하여 알고리즘의 예측 성능을 개선할 수 있음 In [1]: grid_parameters = {'max_depth': [1, 2, 3], 'min_samples_split': [2, 3] } GridSearchCV 클래스의 input인자¶ estimator: classifier, regressor, pipeline 등 param_grid: key + 리스트값을 가지는 딕셔너리가 주어짐. estimator 튜닝을 위해 파라미터명과 사용될 여러 파라미터 값을 지정 scoring: 예측 성능을 측정할 평가 방법을 지정. 보통은 accuracy로 지정함 cv: 교차 검증을 위해 분할되는 학습/테스트 세트의 개..