[Python] 오분류표 Confusion Matrix :: 분류(Classification) 모형 평가
반응형
오분류표(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
'Python > Scikit-learn' 카테고리의 다른 글
[Python] 데이터 스케일링 :: 표준화(Standardization) (0) | 2020.12.07 |
---|---|
[Python] 홀드아웃 :: train_test_split (0) | 2020.09.25 |
[Scikit-learn] LabelEncoder() :: Labelling (0) | 2019.11.20 |
[Scikit-learn] ImportError: cannot import name 'CategoricalEncoder' (0) | 2019.11.20 |
[scikit-learn] LabelEncoder / 범주형 데이터 변환 (0) | 2019.11.13 |
Comments