F1 스코어 F1스코어는 정밀도와 재현율을 결합한 지표 정밀도와 재현율이 어느 한 쪽으로 치우치지 않는 수치를 나타낼 때 상대적으로 높은 값을 가짐 사이킷런은 f1_score() API 제공 In [3]: import pandas as pd titanic_df = pd.read_csv('./titanic_train.csv') from sklearn.preprocessing import LabelEncoder def fillna(df): df['Age'].fillna(df['Age'].mean(), inplace=True) df['Cabin'].fillna('N', inplace=True) df['Embarked'].fillna('N', inplace=True) df['Fare'].fillna(0, inp..
정밀도와 재현율 Precision and Recall 정밀도와 재현율은 Positive 데이터셋의 예측 성능에 초점을 맞춘 평가 지표 정밀도 = TP / (FP + TP) 예측을 Positive로 한 대상 중에 예측과 실제값이 Positive로 일치한 데이터의 비율 재현율(민감도) = TP / (FN + TP) 실제값이 Positive인 대상 중에 예측과 실제값이 Positive로 일치한 데이터의 비율 재현율이 중요 지표인 경우 실제 positive 양성 데이터를 negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우 ex) 암 판단 모델: 실제 positive(양성)인 암 환자를 negative(음성)으로 판단하면 심각 ex) 보험 사기같은 금융 사기 모델: 실제 금융 거래 사기(posi..
오차행렬 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..
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: 교차 검증을 위해 분할되는 학습/테스트 세트의 개..
Model Selection 모듈¶ 학습/테스트 데이터 세트 분리 - train_test_split()¶ parameter test_size shuffle: 데이터 분리 전에 미리 섞을지 결정, 디폴트는 True random_state train_test_split의 반환값은 튜플 형태 In [1]: from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import pandas as pd In [4]: dt_clf = DecisionT..
사이킷런의 기반 프레임워크 익히기¶ Estimator 이해 및 fit( ), predict( ) 메서드¶ 분류 알고리즘을 구현한 클래스: Classifier, 회귀 알고리즘을 구현한 클래스 Regressor 이들 Classifier와 Regressor를 합쳐서 Estimator 클래스라고 부름, 즉 지도학습의 모든 알고리즘을 구현한 클래스를 통칭 Estimator 클래스는 fit()과 predict()를 내부에서 구현함 비지도학습을 구현한 클래스도 대부분 fit()과 transform()을 적용, but fit()은 학습의 의미가 아니라 입력데이터 형태에 맞춰 데이터를 변환하기 위한 사전 구조 맞추는 작업용 실제 작업은 transform()이 수행 내장된 예제 데이터세트¶ fetch 계열의 명령은 데이터..