평가도구 |
accuracy_score recall_score precision_score classification_report confusion_matrix |
confusion matrix(혼동 행렬)
분류모델의 성능 평가에 대해 이해하려면
먼저 confusion matrix 에 대해 이해해야 한다
ex)
다음 그림은 confusion metrix를 나타낸 그림으로 y축은 실제 값, x축은 예측값을 의미한다
각각의 값을 설명하자면
TN(True Negative) = 음성을 음성으로 잘 예측한 것
FN(False Negative) = 음성을 양성으로 잘못 예측한 것
FP(False Positive) = 양성을 음성으로 잘못 예측한 것
TP(True Positive) = 양성을 양성으로 잘 예측한 것이다
confusion metrix를 사용하여 정확도(accuracy) , 정밀도(precision), 재현율(recall)을 구할 수 있다
accuracy_score(정확도)
전체 중에서 정확하게 예측한 값의 비율
(TN + TP) / (TN + TP + FP + FN)
예제 = (76+50) / (76+50+8+16)
Precision_score(정밀도)
양성으로 예측한 것 중에 실제로 양성인 것의 비율(confusion metrix의 세로 비율)
TP / (TP+FP)
예제 = 50 / (50 + 8)
정밀도가 낮다 = 모델이 음성을 양성으로 예측한 비율이 높다(거짓긍정)
Recall_score(재현율)
실제 양성인 값중에서 양성으로 예측한 것의 비율(confusion metrix의 가로 비율)
TP / (FN+TP)
예제 = 50 / (50 + 16)
재현율이 낮다 = 모델이 실제로 참인 데이터를 올바르게 찾아 낼 수 있는 능력이 낮다(거짓부정)
classification_report()
classification_report는 위의 요소를 한 번에 나타낼때 사용하는 함수다
ex)
+f1-score = 정확도와, 재현율의 조화평균 , 데이터의 음성과 양성 비율이 크게 차이 날 때 보면 좋음
'파이썬 > 머신러닝-지도학습' 카테고리의 다른 글
파이썬 머신러닝 지도학습 - K-Nearest Neigbor(KNN) (분류, 회귀) (0) | 2023.09.16 |
---|---|
파이썬 머신러닝 지도학습 - 데이터 분리 (sklearn - train_test_split (0) | 2023.09.16 |
머신러닝 지도학습 - 회귀모델 성능 평가 데이터의 이해-sklearn.metrics (0) | 2023.09.16 |
머신러닝 지도학습 - 회귀와 분류, 분석도구 (0) | 2023.09.16 |
파이썬 머신러닝 선형회귀 및 평가 sklearn - LinearRegression (0) | 2023.09.11 |