개발/파이썬 머신러닝 완벽가이드 정리

classification성능평가와 accuracy

개복치 개발자 2020. 1. 22. 18:48

분류(Classification)과 정확도(Accurancy)에 대해 알아보겠습니다.

 

자, 차근차근히 알아볼텐데, 이진 분류 문제에서 정확도 예측을 어떻게 하느냐? 를 물어봅니다.

 

예를 들면 "암"에 걸린 경우 암의 양성(positivie)데이터와 음성(negative)데이터를 가지고 있다고 생각해봅시다.

 

위의 경우 양성, 밑의 경우 음성인 그림을 볼 수 있는데, 현실 세계에서는 저렇게 아름답게 데이터가 분류되지 않습니다.

 

 

 

 

위의 그림처럼, 애매하게 Classification 이 걸쳐있어, False Positive 부분과 False Negative부분이 생깁니다.

 

이 때문에 100%의 정확도로 예측할 수 없습니다.(물론 현실 세계의 사람도 마찬가지입니다.)

 

자 얘네들을 표로 나타내보면

 

  Positive Negative  
Positive TP(True Positive) FN(False Nagative) P(Positive)
Negative FP(False Positive) N(True Nagative) N(Negative)

 

이렇게 됩니다. 자 그러면 애네들을 이용해서 뭘 할 수 있나? 하면 정확도를 구해볼 수 있습니다.

 

정확도(Accuracy) = True Positive + True Nagative / 전체 데이터( P + N)

 

이렇게 구해볼 수 있습니다.

 

그리고 정밀도(Precision)와 재현율(Recall)이라는 것도 나옵니다.

 

정밀도는 모델이 True라고 한 것들 중에 실제 True의 비율이고

 

정밀도 = TP / TP + FP 

 

재현률은, 실제 True인 애들 중에 모델이 True라고 한 것입니다.

 

재현률 = TP / TP + FN

 

 

참고

 

[1] - https://sumniya.tistory.com/26

[2] - https://bcho.tistory.com/1206

'개발 > 파이썬 머신러닝 완벽가이드 정리' 카테고리의 다른 글

결정트리  (0) 2020.01.24
ROC, AUC  (0) 2020.01.24
데이터 전처리  (0) 2020.01.22
하이퍼파라미터, GridSearchCV  (0) 2020.01.22
교차검증  (0) 2020.01.22