본문 바로가기
파이썬/머신러닝-지도학습

머신러닝 지도학습 - 분류모델 성능 평가 데이터의 이해 - sklearn.metrics

by 큰고양2 2023. 9. 16.
평가도구
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 = 정확도와, 재현율의 조화평균 , 데이터의 음성과 양성 비율이 크게 차이 날 때 보면 좋음