위 내용을 시각적으로 잘 설명한 내용이 있어서 나중에 참고용으로 기록. 한눈에 잘 보이게 정리 잘 해 놓으신 듯..
분류 모델(Classification) 에 대한 모델 평가
라벨이 있는 경우에는 분류 모델에 대한 모델 평가 방법을 사용한다.
Confusion matrix
이진 분류 문제에서 암의 양성과 음성 데이타를 가지고 있는 데이타 가 있다고 하자
만약 모델의 정확도가 100%이면, 양성과 음성 데이타를 100% 잘 구분할것이다. 아래 그림과 같이, 양성으로 분 예측된 영역을 Positive prediction, 음성으로 분리된 영역을 Negative prediction 이라고 한다.
그런데 실제 세계에서는 정확도 100% 모델은 매우 드물고 실제로는 아래 그림과 같이 예측이 되는 경우가 많다.
양성과 음성 데이타가 각각 잘못되는 경우가 있다.
양성인데, 양성으로 제대로 검출된것은 True Positive (TP)
음성인데 음성으로 제대로 검출된것은 True Negative (TN)
양성인데 음성으로 잘못 검출된것은 False Negative (FN)
음성인데 양성으로 잘못 검출된것은 False Positive (FP)
라고 하고 그림으로 표현하면 다음과 같은 그림이 된다.
보통 이를 표로 표시하는데, 다음과 같이 표현이 된다.
P = TP + FN
N = FP + TN
그러면 이 지표를 가지고 무엇을 하느냐? 이 값을 기반으로 다음과 같은 지표들을 계산하여 모델 평가에 사용한다.
Accuracy
가장 대표적으로 사용되는 지표로 전체 데이타중에서, 제대로 분류된 데이타의 비율로
ACC = (TP + TN) / (전체 데이타 수 = P + N)
모델이 얼마나 정확하게 분류를 하는지를 나타낸다.
Error Rate
Error Rate는 Accuracy 와 반대로, 전체 데이타 중에서 잘못 분류한 비율을 나타낸다
ERR = (FN+FP) / (전체 데이타수 = P+N)
Sensitivity (Recall or True positive Rate)
민감도라고도 하는데, Sensitive 또는 Recall이라고도 하는데, 원래 Positive 데이타 수에서 Positive로 분류된 수를 이야기 한다. 에를 들어 원본 데이타에 암 양성이 100개 있었는데, 모델에 있어서 90개가 분류되었으면, Sensitive Rate = 0.9 가된다.
SN = (TP) / P
모델이 얼마나 정확하게 Positive 값을 찾느냐를 나타낸다.
Recall (as opposed to precision) is not so much about answering questions correctly but more about answering all questions that have answer "true" with the answer "true". So if we simply always answer "true", we have 100% recall.
Precision
Precision (정밀성)은 Positive로 예측한 내용 중에, 실제 Positive의 비율을 뜻한다.
PREC = TP / (TP+FP)
Precision is about being precise. In common English, being precise means: if you give an answer, the answer will very likely be correct. So even if you answered only one question, and you answered this question correctly, you are 100% precise.
Specificity (True negative rate)
Specificity 값은 Negative 로 판단한것중에, 실제 Negative 값의 비율이다.
SP = TN / TN+FP
False Positive rate
원래는 Positive 값인데, 잘못해서 Negative로 판단한 비율로
FPR = FP / N
이 된다. 예를 들어 게임에서 어뷰징 사용자를 검출했을때 정확도도 중요하겠지만, FPR 값이 높으면, 정상 사용자를 비정상 사용자로 검출하는 경우가 많다는 의미가 된다. 어뷰징 사용자에 대해서는 계정 정지등 패널티를 주게 되는데, 모델이 아무리 어뷰징 사용자를 잘 찾아낸다 하더라도 FPR 값이 높게 되면, 정상적인 사용자를 어뷰징 사용자로 판단하여 선의의 사용자가 징계를 받게 되서, 전체적인 게임 충성도에 문제가 생길 수 있다. (어뷰징 사용자를 많이 찾아내는 것보다, 정상 사용자가 징계를 받게 되는 경우가 비지니스에 크리티컬 할때) 이런 경우에 FPR 값을 레퍼런스 할 수 있다.
그러면, Confusion Matrix를 통해서 계산된 결과를 가지고 모델을 어떻게 평가를 할까? 앞에서 나온 지표중에서 일반적으로 Accuracy 지표가 많이 사용되고, 그외에, ROC , Precision Recall Plot, F-Score 등이 많이 사용되는데 각각에 대해서 알아보자
출처: http://bcho.tistory.com/category/빅데이타/머신러닝 [조대협의 블로그]
'전공관련 > 주워들은 용어정리' 카테고리의 다른 글
Outlier ( 이상치 ) (0) | 2013.07.16 |
---|---|
메모리 영역 Heap / Stack / Static (1) | 2013.07.09 |
Integral Image ( 적분 영상 ) (2) | 2013.06.21 |
Hessian Matrix ( 헤시안 행렬 ) (0) | 2013.06.21 |
ROC curve (0) | 2013.06.19 |