[Python 머신러닝] 03-2 오차 행렬
평가
오차 행렬(Confusion Matrix)
오차 행렬은 이진 분류의 예측 오류가 얼마인지와 더불어 어떠한 유형의 예측 오류가 발생하고 있는지를 함께 나타내는 지표이다.
| - | - | 예측 클래스 | 예측 클래스 |
|---|---|---|---|
| - | - | Negative(0) | Positive(1) |
| 실제 클래스 | Negative(0) | TN (True Negative) | FP (False Positive) |
| 실제 클래스 | Positive(1) | FN (False Negative) | TP (True Positive) |
오차 행렬을 통한 정확도 지표 문제점 인지
| - | - | 예측 클래스 | 예측 클래스 |
|---|---|---|---|
| - | - | Negative(0) | Positive(1) |
| 실제 클래스 | Negative(0) | TN (True Negative) 405개 | FP (False Positive) 0개 |
| 실제 클래스 | Positive(1) | FN (False Negative) 45개 | TP (True Positive) 0개 |
정확도 = $예측 결과와 실제 값이 동일한 건수\over전체 데이터 수$ = $(TN + TP)\over(TN + FP + FN + TP)$
- TP는 0임
Positivie로 예측이 한 건도 성공하지 않음 - 이와 더불어 FP가 0이므로 Positive로 예측 자체를 수행하지 않음을 알 수 있음
from sklearn.metrics import confusion_matrix
# 앞절의 예측 결과인 fakepred와 실제 결과인 y_test의 Confusion Matrix출력
confusion_matrix(y_test , fakepred)
array([[405, 0],
[ 45, 0]], dtype=int64)