[Zero-Base]데이터 취업 스쿨 스터디 노트(Machine Learning - Model Evaluation)

강현정·2024년 7월 12일

zero_base

목록 보기
48/54

분류모델 평가의 개념

!

recall : 참인 데이터 중에서 참이라고 예측한 데이터의 비율
precision : 참이라고 예측한 데이터에서 실제 참인 데이터의 비율

  • 실제 양성인 데이터를 음성이라고 판단하면 안되는 경우라면 recall이 중요하고(암환자 판별-threshold 0.3~0.4), 음성인 데이터를 양성이라고 판단하면 안되는 경우라면 precision이 중요하다.(스팸메일- threshold 0.8~0.9)

  • F1score는 조화평균이라고도 함.
from sklearn.metrics import (accuracy_score, recall_score,precision_score,f1_score, roc_auc_score, roc_curve)

print(f'acc:{accuracy_score(y_t, y_pred)}')
print(f'recall:{recall_score(y_t, y_pred)}')
print(f'precision:{precision_score(y_t, y_pred)}')
print(f'auc:{roc_auc_score(y_t, y_pred)}')
print(f'f1:{f1_score(y_t, y_pred)}')

ROC/AUC

  • FPR = FALL-OUT(실제 양성이 아닌데, 양성이라고 잘못 예측한 경우)
  • TPR = RECALL(SENSITIVITY)

  • AUC는 ㄱROC곡선 아래의 면적을 의미
import matplotlib.pyplot as plt
%matplotlib inline 

pred_proba = wine_tree.predict_proba(x_t)[:,1]

fpr, tpr, thres = roc_curve(y_t, pred_proba)

plt.figure(figsize=(10,8))
plt.plot([0,1],[0,1])
plt.plot(fpr, tpr)
plt.grid()
plt.show()

0개의 댓글