티스토리 뷰
실습목적
- 불균형한 데이터 다루기
- 분류의 다양한 특정지표 알아보기
: Accuracy, Precision, Recall, F1-score, confusion-matrix 등
Confusion-Matrix (혼동행렬)
- 혼동행렬은 이름 그대로 해석할 때 혼란이 많이 된다. : 문서마다 순서가 다르게 나오기 때문.
- 혼란을 줄일 수 있는 기준 : 사이킷런 출력 순서대로 익히는 것.
- TN(True Negative, Negative Negative)
: 실제는 임신이 아니고(O), 임신이 아닌 것(O)으로 잘 예측함. - FP(False Positive, Negative Positive) - 1종오류 (Precision : 예측값 기준)
: 실제는 임신이 아닌데(O), 임신(1)으로 잘못 예측함.
(아닌데 맞다구 함) - FN(False Negative, Positive Negative) - 2종오류 (Recall : 실제값 기준)
: 실제는 임신인데(1), 임신이 아닌 것(O)으로 잘못 예측함.
(맞는데 아니라구 함) - TP(True Positive, Positive Positive)
: 실제로 임신이고(1), 임신(1)으로 잘 예측함.
# classification_report
# 예측한 클래스 별로 점수를 표시하고 있습니다.
# support : 각 샘플의 수입니다.
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))
- 정확도 (Accuracy) : 모델이 예측한 결과와 실제 결과가 얼마나 일치하는지를 측정합니다. 정확도는 전체 샘플 중에서 모델이 정확하게 예측한 샘플의 비율로 계산됩니다.
- 정밀도 (Precision) : 모델이 예측한 양성 클래스(positive class) 중에서 실제 양성 클래스인 것의 비율을 측정합니다.
- 재현율 (Recall) : 실제 양성 클래스 중에서 모델이 양성으로 예측한 것의 비율을 측정합니다.
- 특이도(Specificity) : 음성 가운데 맞춘 음성의
- F1 스코어 (F1 Score) : 정밀도와 재현율의 조화 평균값을 계산한 것입니다. 이 측정 지표는 정밀도와 재현율을 모두 고려하기 때문에 모델의 성능을 전반적으로 평가하는 데 유용합니다.
- 오차 행렬 (Confusion Matrix) : 실제 클래스와 모델이 예측한 클래스를 행과 열로 나타내는 행렬입니다. 오차 행렬을 통해 모델이 어떤 클래스를 잘 예측했고 어떤 클래스를 잘못 예측했는지를 시각적으로 확인할 수 있습니다.