본문 바로가기

[Python] 오분류표 Confusion Matrix :: 분류(Classification) 모형 평가

Python/Scikit-learn 2020. 9. 14.

반응형

오분류표(confusion matrix)

from sklearn.metrics import confusion_matrix, classification_report, accuracy_score

y_pred = y_pred = model.predict(X_test)

# 분류결과표 - 정답 : 행 / 예측 : 열
confusion_matrix(y_pred, y_test)

# 오분류표
classification_report(y_pred, y_test)

# 분류정확도
accuracy_score(y_pred, y_test)

- 분류 분석 모형의 평가

 

실제값 \ 예측치

True False 합계
True TP(True Positive) FN(False Negative) P
False FP(False Positive) TN(True Negative) N
합계 P' N' P+N

 

- 정분류율(accuracy) : 전체 관측치 중 실제값과 예측치가 일치한 정도

$$\cfrac{TP+TN}{P+N}$$

 

- 오분류율(error-rate) : 전체 관측치 중 실제값과 예측치가 다른 정도

$$\cfrac{FP+FN}{P+N}$$

 

- 민감도(Sensitivity) : 실제값이 True인 관측치 중 예측치가 적중한 정도

$$\cfrac{TP}{P}$$

 

- 특이도(Specificity) : 실제값이 False인 관측치 중 예측치가 적중한 정도

$$\cfrac{TN}{N}$$

 

- 정확도(precision) : True로 예측한 관측치 중 실제값이 True인 정도

$$\cfrac{TP}{TP+FP}$$

 

- 재현율(recall) : 실제값이 True인 관측치 중 예측치가 적중한 정도(=민감도)

$$\cfrac{TP}{TP+FN} = \cfrac{TP}{P}$$

 

- F1지표 : 정확도와 재현율의 조화평균

$$\cfrac{2\times{Precision}\times{Recall}}{Precision+Recall}$$

 

 

 

728x90

Comments