코딜기
[Python/ML] 모델 평가(Model Evaluation) - 혼동 행렬(Confusion Matrix) 정확도(Accuracy)/정밀도(Precision)/재현율(Recall) 본문
ML & DL/Model Evaluation
[Python/ML] 모델 평가(Model Evaluation) - 혼동 행렬(Confusion Matrix) 정확도(Accuracy)/정밀도(Precision)/재현율(Recall)
코딜기 2022. 3. 16. 16:31반응형
혼동 행렬(Confusion Matrix)란 무엇일까요??
- 혼동 행렬 또는 오차 행렬이라 불리는 Confusion Matrix는 분류 모델의 평가지표로 많이 쓰입니다.
- 혼동 행렬은 각 데이터의 실제 클래스와 예측된 클래스의 개수를 조건에 맞게 행렬 성분에 채워 넣은 것입니다.
- 혼동 행렬에서는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall) 등의 지표를 구할 수 있습니다.
from sklearn.metrics import confusion_matrix
# 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred를 구한 후 실행
# 모델 검정이 없다면 y_true값으로 y_valid 대체
confusion_matrix = confusion_matrix(y_valid, y_pred)
print(confusion_matrix)
정확도 (Accuracy)
- 분류 모델을 통해 0을 0으로, 1을 1로 정확히 분류된 데이터의 비율을 말합니다.
- 불균형 데이터 셋의 평가 척도로 사용하기엔 어려움이 있습니다.
from sklearn.metrics import accuracy_score
# 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred를 구한 후 실행
# 모델 검정이 없다면 y_true값으로 y_valid 대체
accuracy = accuracy_score(y_valid, y_pred)
print(accuracy)
정밀도 (Precision)
- 분류 모델을 통해 1이라고 예측한 데이터 중 실제로 1인 데이터의 비율을 말합니다.
from sklearn.metrics import precision_score
# 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred를 구한 후 실행
# 모델 검정이 없다면 y_true값으로 y_valid 대체
precisione = precision_score(y_valid, y_pred)
print(precisione)
재현율 (Recall)
- 분류 모델을 통해 실제로 1인 데이터 중에 1이라고 예측된 데이터의 비율을 말합니다.
- 질병 예측에서 가장 중요한 척도 중 하나입니다.
- 예측을 잘못하면 생명에 지장이 생길 수 있기 때문입니다.
from sklearn.metrics import recall_score
# 데이터 스플릿으로 y_valid와 모델 예측으로 y_pred를 구한 후 실행
# 모델 검정이 없다면 y_true값으로 y_valid 대체
recall = recall_score(y_valid, y_pred)
print(recall)
도메인에 따라 적절한 평가 지표를 선택해서 확인해야 합니다.
반응형
'ML & DL > Model Evaluation' 카테고리의 다른 글
[Python/ML] 모델 평가(Model Evaluation) - 다중 분류 로그 손실(logloss) (0) | 2022.12.22 |
---|---|
[Python/ML] 모델 평가(Model Evaluation) - 이진 분류 로그 손실(logloss) (0) | 2022.12.22 |
[Python/ML] 모델 평가(Model Evaluation) - F score(F1 score/Fβ score) (0) | 2022.12.21 |
[Python/ML] 모델 평가(Model Evaluation) - ROC Curve/AUC (0) | 2022.12.21 |
Comments