<Confusion Matrix(혼동 행렬, 오차 행렬)>
예측 | |||
양성 | 음성 | ||
실제 | 양성 | TP | FN |
음성 | FP | TN |
* TP : True Positive(예측 Positive, 실제 값도 Positive)
* TN : True Negative(예측 Negative, 실제 값도 Negative)
* FP : False Positive(예측 Positive, 실제 값은 Negative)
* FN : False Negative(예측 Negative, 실제 값은 Positive)
<분류의 성능 평가지표>
* 정확도(Accuracy)
- 예측 결과와 실제 값이 동일한 건수/전체 데이터 수
- 분류 모델을 평가하기에 가장 단순한 지표이나, 불균형한 클래스를 가진 데이터셋을 평가하기 어렵다는 단점 있음
- 0 ~ 1 사이의 값을 가짐. 1에 가까울수록 좋다.
- 정확도 = (TN + TP) / (TN + TP + FN + FP)
* 정밀도(Precision)
- 예측을 Positive로 한 대상 중에 예측과 실제 값이 Positive로 일치한 데이터 비율
- Positive로 검출된 결과가 얼마나 정확한지 나타냄
- 정밀도를 높이려면 FP를 낮추어야 함.
- 0 ~ 1 사이의 값을 가짐. 1에 가까울수록 좋다.
- 정밀도 = TP / (TP + FP)
* 재현율(Recall) (=민감도, Sensitivity)(=TPR, True Positive Rate)
- 실제 값이 Positive인 대상 중에 예측과 실제 값이 Positive로 일치한 데이터 비율
- 분류 모델이 실제 Positive 클래스를 얼마나 빠지지 않고 잡아내는지 나타냄
- 재현율을 높이려면 FN을 낮추어야 함.
- 0 ~ 1 사이의 값을 가짐. 1에 가까울수록 좋다.
- 재현율 = TP / (TP + FN)
* 특이도(Specificity)(= TNR, True Negative Rate)
- 실제 값이 Negative인 대상 중에 예측과 실제 값이 Negative로 일치한 데이터 비율
- 특이도 = TN / (TN + FP)
* F1 Score
- 정밀도와 재현율을 결합한 지표.
- 정밀도와 재현율의 맹점을 보완하기 위해 만들어짐
+ Positive 예측의 임계값을 변경함에 따라 정밀도와 재현율의 수치가 변경되는데, 이러한 변경은 업무 환경에 맞게 두 개의 수치를 상호 보완할 수 있는 수준에서 적용돼야 함. 즉 둘 중 하나만 강조하면 안된다는 뜻
- 클래스가 불균형된 데이터에서 주요 평가지표로 사용함
- 정밀도와 재현율이 한쪽으로 치우치지 않을 때 상대적으로 큰 값을 가짐
- F1 = 2 × 정밀도 × 재현율 / 정밀도 + 재현율
* ROC 곡선(Receiver Operation Characteristic Curve)
- 수신자 판단 곡선
- 머신러닝 이진 분류 모델의 예측 성능을 판단하는 중요한 평가 지표
- FPR(False Positive Rate)이 변할 때 TPR(True Positive Rate)이 어떻게 변하는지를 나타내는 곡선
+ FPR을 x축으로, TPR을 Y축으로 잡는다 -> FPR 변화에 따른 TPR 변화가 곡선 형태로 나타남.
- 대각선을 기준으로 좌상단으로 붙어있는 ROC 곡선일수록 성능이 뛰어난 것
* AUC(Area Under Curve)
- ROC 곡선 밑의 면적을 구한 것
- 분류의 성능 지표로 사용되는 것은 ROC 곡선 면적에 기반한 AUC 값
- 1에 가까울수록 좋은 수치
- AUC 수치가 커지려면 FPR이 작은 상태에서 얼마나 큰 TPR을 얻을 수 있느냐가 관건
- 대각선 직선이 랜덤 수준의 이진 분류 AUC값 0.5이기 때문에 보통의 분류는 0.5 이상의 AUC 값을 가짐.
'Python' 카테고리의 다른 글
Feature Enginering (0) | 2024.02.19 |
---|---|
하이퍼 파라미터 - Grid Search, Random Search (0) | 2024.02.19 |
PyCaret Windows 10 아나콘다 설치 (0) | 2024.02.14 |
환경 변수 설정으로 API 키 숨기기 (0) | 2024.02.01 |
[Streamlit] Input widgets(예시/연습) (1) | 2024.01.29 |