혼돈행렬
선형 모델의 성능은 MSE, MAE, RMSE등으로 평가된다.
분류 모델은 Confusion Matrix(혼돈 행렬)를 사용하여 Perfomance Test를 한다.
혼돈 행렬을 사용하여 정밀도(Precision), 재현률(Recall), 정확도(Accuracy), 조화평균(F1 Score)과 같은 평가 지수를 알 수 있다.
Confusion Matrix:
TN(8869) FP(0)
FN(862) TP(1)
Actual Values | Predictive Values | |
TN | 승진하지 못함(N) | 승진하지 못함 |
FN | 승진하지 못함(N) | 승진함 |
FP | 승진함(P) | 승진하지 못함 |
TP | 승진함(P) | 승진함 |
정밀도(Precision)
- TP / (TP + FP)
- 무조건 양성으로 판단해서 계산하는 방법
- 실제 1(TP, FP)인 것중에 얼마만큼을 제대로(TP) 맞췄는가?
- Positive로 판단한 것중 잘 분류된(True) 것의 비율
재현율(Recall)
- TP / (TP + FN)
- 정확하게 감지한 양성 샘플의 비율
- 1(TP, FN)이라고 예측한 것 중, 얼마만큼을 제대로(TP) 맞췄는가?
- 민감도 또는 TPR(True Positive Rative)
F1 Score
- 정밀도와 재현율의 조화평균을 나타내는 지표
정밀도 재현율 산술평균 조화평균
0.4 0.6 0.5 0.48
0.3 0.7 0.5 0.42
0.5 0.5 0.5 0.5
ROC ( Receiver Operator Characteristic )
Confusion Matrics의 True Positive와 False Positive에 대한 해석 그래프이다.
Confusion Matrics는 분류하는 임계값에 따라 결과가 달라진다.
적절한 임계값 설정은 더 좋은 성능을 나타내는 Confusion Matrics를 얻을 수 있다.
하지만 모든 임계값에 해당하는 결과를 얻으려면 번거롭다.
ROC는 그 결과들을 한 눈에 볼 수 있게 시각화한 해석 그래프라고 볼 수 있다.
예를 들어, 비만을 몸무게에 따라 분류하는 경우가 있다고 하자.
비만인 확률을 0부터 1이라고 하고 임계치가 0인 경우에는 모든 몸무게가 비만으로 분류된다.
반대로 1인 경우 모든 몸무게가 비만이 아니라고 분류된다.
이때 각 분류에는 잘못 분류된 경우가 생기게 된다.
비만이라고(=Positive) 분류한 것 중 잘(=True) 분류된 비율(=Sensitivity)과
비만이라고(=Positive) 분류한 것 중 잘못(=False) 분류된 비율(=1 - Specificity)을 각 임계점마다 구할 수 있다.
그 점들을 이은 것이 ROC가 된다.
각 점을 비교하면 더 잘 분류된 임계치를 찾을 수 있다.
AUC ( The Area Under the Curve )
AUC는 ROC그래프의 아래 영역 면적을 의미한다.
서로 다른 모델의 ROC를 더 직관적이고 쉽게 비교하기 위해 사용한다.
AUC값이 성능을 비교하는 척도라고 할 수 있다.
+ Precision은 언제 사용하는가?
만약 분류할 데이터가 한쪽에 몰려있다면? 즉, 데이터에 불균형이 있다면 False Positive Rate보다 Precision을 사용하는 것이 좋다.
Precision은 True Negative의 수를 고려하지 않아 불균형에 영향을 받지 않기 때문이다.
참고
https://youtu.be/4jRBRDbJemM?list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF
결론
그림을 추가한 설명은 추후에 넣을 예정입니다.
'AI > 머신러닝' 카테고리의 다른 글
[머신러닝] 로지스틱 회귀(Sigmoid & Softmax) (0) | 2023.12.28 |
---|---|
[머신러닝] Cross Validation(교차 검증) (0) | 2023.12.28 |
[머신러닝] MSE, MAE, RMSE (0) | 2023.12.25 |
[머신러닝] 사이킷런(Sciket-learn) (0) | 2023.12.21 |
[머신러닝] 머신러닝 (1) | 2023.12.21 |
댓글