본문 바로가기
머신러닝, 딥러닝/머신러닝

[머신러닝] Confusion Matrix, ROC Curve

by 장찐 2022. 4. 11.

📚 Confusion Matrix 

 

• 종속변수의 실제값과 예측값에 따른 관측치의 분포를 나타내는 매트릭스로 classification 문제의 주요 평가 지표로 사용된다.

'잘못' 예측한 경우 'False'가 붙는다. 

 

지표 이름  설명 식 
Accuracy  전체에서 올바르게 예측한 관측치의 비중 
Recall
(재현율)
 
Sensitivity 
(=recall for positive class)
실제 positive 관측치 중에서
positive로 예측한 비중 
Specificity 
(=recall for negative class) 
실제 negative 관측치 중에서
negative로 예측한 비중 
Precision
(정밀도)
Precision for positive class positive로 예측한 관측치 중에서
실제로 positive인 비중 
Precision for negative class negative로 예측한 관측치 중에서
실제로 negative인 비중 
F1 Score  precision 과 recall의 조화 평균. 마찬가지로 positive/negative에 대한 값이 각각 존재한다. 

 

 

 

 

 

사이킷런의 classfication_report 클래스를 이용하면 편하게 계산할 수 있다. 

• support는 각각 0,1인 관측치의 갯수 

 

• macro avg : 0,1일 때의 값을 단순 평균 

=(0.83+0.94)/2

 

• weighted avg : 전체 데이터에서 0,1에 해당하는 관측치의 갯수에 대해서 가중치를 부여해서 평균을 계산한다. 

=(0.83*11/30)+(0.94*19/30)

 

 


 

📚AUC 

 

•종속변수 값을 무엇으로 예측할 지 기준이 되는 cutoff(threshold) 값을 0부터 1까지 변화시키면서 테스트 했을 때, 

각각의 경우에 대한 TPR과 FPR의 비율을 그림으로 나타낸 것. 

 

• 0~1 사이의 값을 취하고 1에 가까울수록 성능이 좋은 것 ​

https://towardsdatascience.com/understanding-the-roc-curve-in-three-visual-steps-795b1399481c

 

• TPR : True Positive Ratio = Recall for positive = sensitivity 와 동일함 

값이 커질수록 모델의 성능이 좋아짐 

 

• FPR : False Positive Ratio =positive로 예측했는데 실제로는 negative 인 관측치의 비율 

값이 커질수록 모델의 성능이 나쁜 것 

 

• 모델의 성능이 좋을수록 곡선이 전체적으로 좌측 상단으로 넓어지면서, AUC 면적이 커진다. 

 

 

 

 


📚  Reference

https://towardsdatascience.com/understanding-the-roc-curve-in-three-visual-steps-795b1399481c

 

 이상엽, 연세대학교 언론홍보영상학부 부교수, 22-1학기 기계학습 이론과 실습 

댓글