정밀도는 "양성이라고 한 것 가운데 몇이 맞았나"를, 재현율은 "실제 양성 가운데 몇을 잡았나"를 묻습니다. 분모가 다르다는 것만 붙잡으면 헷갈릴 일이 없습니다.
풀고 시작
문제 1. 암 검진 모델에서 실제 환자 100명 가운데 90명을 환자로 잡아냈습니다. 이 90퍼센트는 어떤 지표입니까?
실제 양성 가운데 모델이 양성으로 맞힌 비율이 재현율이고, 의학에서는 민감도라고 부릅니다. 모델이 환자라고 판정한 사람 가운데 실제 환자의 비율을 보려면 정밀도를 계산해야 합니다.
혼동행렬: 모든 지표의 출발점
분류 모델의 결과는 먼저 혼동행렬(confusion matrix)로 정리합니다. 관심 있는 사건, 곧 이탈이나 부정 거래나 질병을 양성(positive)이라고 부르고, 실제와 예측을 맞대어 네 칸을 만듭니다.
예측 양성
예측 음성
실제 양성
TP(참 양성) 30
FN(거짓 음성) 20
실제 음성
FP(거짓 양성) 10
TN(참 음성) 40
이름을 읽는 요령이 있습니다. 뒤의 양성과 음성은 모델의 예측이고, 앞의 참과 거짓은 그 예측이 맞았는지입니다. FP는 음성인데 양성이라고 잘못 예측한 것, FN은 양성인데 음성이라고 잘못 예측한 것입니다.
네 칸에서 나오는 지표들
위 표로 계산해 보겠습니다. 전체 100건입니다.
지표
식
위 표의 값
정확도
(TP + TN) / 전체
70 / 100 = 0.70
정밀도
TP / (TP + FP)
30 / 40 = 0.75
재현율(민감도)
TP / (TP + FN)
30 / 50 = 0.60
특이도
TN / (TN + FP)
40 / 50 = 0.80
F1 점수
2 × 정밀도 × 재현율 / (정밀도 + 재현율)
0.9 / 1.35 ≈ 0.67
정확도는 전체 가운데 맞힌 비율입니다. 11강에서 봤듯 불균형 데이터에서는 다수 범주만 찍어도 높게 나와 믿기 어렵습니다. 정밀도(precision)는 분모가 예측 양성이고, 재현율(recall)은 분모가 실제 양성입니다. 특이도(specificity)는 실제 음성 가운데 음성으로 맞힌 비율이죠. F1 점수는 정밀도와 재현율의 조화평균이라 둘 가운데 하나만 높아서는 올라가지 않습니다. 2과목 4강의 정밀도는 반복 측정의 흩어짐을 가리키는 다른 뜻이었으니 섞지 마세요.
무엇을 더 중시할 것인가
12강에서 예측 확률을 임계값과 비교해 분류한다고 했습니다. 임계값을 낮추면 양성 판정이 늘어 재현율은 오르고 정밀도는 떨어지기 쉽습니다. 둘은 대개 한쪽을 올리면 다른 쪽이 내려가므로 업무 비용을 보고 고릅니다.
암 진단이나 부정 거래 탐지처럼 놓치는 비용이 큰 문제는 FN을 줄여야 하므로 재현율을 중시합니다. 스팸 필터처럼 정상 메일을 스팸함에 넣는 잘못 잡는 비용이 큰 문제는 FP를 줄여야 하므로 정밀도를 중시합니다.
ROC 곡선과 AUC
임계값 하나에 묶이지 않고 모델을 평가하려면 ROC 곡선을 그립니다. 임계값을 1에서 0까지 바꿔 가며 가로축에 거짓 양성률(1 − 특이도), 세로축에 참 양성률(재현율)을 찍어 이은 곡선입니다. 곡선이 왼쪽 위 모서리에 붙을수록 좋은 모델이고, 대각선은 무작위로 찍는 모델입니다. 곡선 아래 넓이인 AUC는 1이면 완벽, 0.5면 무작위 수준입니다.
이익도표와 향상도
마케팅에서는 이익도표(gain chart)와 향상도(lift)를 자주 씁니다. 고객을 예측 확률이 높은 순으로 정렬해 10퍼센트씩 구간으로 나누고, 구간마다 실제 반응률을 봅니다. 향상도는 구간의 반응률을 전체 반응률로 나눈 값입니다. 전체 반응률이 5퍼센트인데 상위 10퍼센트 구간의 반응률이 20퍼센트라면 향상도는 4이고, 무작위로 고를 때보다 네 배 효율적이라는 뜻입니다. 좋은 모델은 상위 구간의 향상도가 높고 아래로 갈수록 빠르게 떨어집니다. R에서는 table로 혼동행렬을 만들고, ROCR이나 pROC 패키지로 ROC 곡선과 AUC를 구합니다.
인출 문제
문제 1. TP 30, FP 10, FN 20, TN 40일 때 정밀도는 얼마입니까?
정밀도는 예측 양성 가운데 실제 양성의 비율이라 TP를 TP와 FP의 합으로 나눠 30 나누기 40으로 0.75입니다. 0.60은 재현율, 0.70은 정확도, 0.80은 특이도입니다.
문제 2. 스팸 필터에서 특히 중시해야 할 지표와 그 이유로 알맞은 것은?
중요한 업무 메일이 스팸함에 들어가는 거짓 양성이 더 큰 손해라 정밀도를 중시합니다. 암 진단처럼 놓치는 비용이 큰 문제라면 재현율을 중시합니다.
문제 3. ROC 곡선의 가로축과 세로축을 옳게 짝지은 것은?
ROC 곡선은 임계값을 바꿔 가며 거짓 양성률과 참 양성률의 짝을 찍어 이은 것입니다. 왼쪽 위에 붙을수록 좋은 모델입니다.
문제 4. 전체 반응률이 5퍼센트이고 모델이 뽑은 상위 10퍼센트 구간의 반응률이 20퍼센트일 때 그 구간의 향상도는 얼마입니까?
향상도는 구간 반응률을 전체 반응률로 나눈 값이라 20을 5로 나눠 4입니다. 무작위로 고를 때보다 네 배 많은 반응자를 찾는다는 뜻입니다.
더 풀기
출제기준의 세부항목을 따라 이 강의 범위에서 새로 낸 문제입니다. 모의고사도 여기에서 뽑습니다.
묶음 1
문제 1. 혼동행렬에서 FP(거짓 양성)의 뜻으로 옳은 것은?
뒤의 양성은 모델의 예측, 앞의 거짓은 그 예측이 틀렸다는 뜻입니다. 그래서 FP는 양성이라고 했지만 틀린 경우, 곧 실제 음성입니다.
문제 2. 혼동행렬에서 FN(거짓 음성)의 뜻으로 옳은 것은?
FN은 음성이라고 예측했지만 틀린 경우라 실제로는 양성입니다. 암 진단에서 환자를 건강하다고 돌려보내는 경우가 FN입니다.
문제 3. TP 30, FP 10, FN 20, TN 40일 때 재현율은 얼마입니까?
재현율은 실제 양성 가운데 양성으로 맞힌 비율이라 30을 30과 20의 합으로 나눠 0.60입니다.
문제 4. TP 30, FP 10, FN 20, TN 40일 때 특이도는 얼마입니까?
특이도는 실제 음성 가운데 음성으로 맞힌 비율이라 40을 40과 10의 합으로 나눠 0.80입니다.
문제 5. TP 30, FP 10, FN 20, TN 40일 때 정확도는 얼마입니까?
정확도는 전체 가운데 맞힌 비율이라 TP와 TN을 더한 70을 전체 100으로 나눠 0.70입니다.
문제 6. 정밀도와 재현율의 분모를 옳게 짝지은 것은?
정밀도는 모델이 양성이라고 한 것 가운데 맞은 비율, 재현율은 실제 양성 가운데 잡아낸 비율입니다. 분자는 둘 다 TP입니다.
문제 7. 재현율과 같은 뜻으로 쓰이는 이름은 무엇입니까?
의학에서는 재현율을 민감도라고 부르고, ROC 곡선에서는 참 양성률이라고 부릅니다. 모두 실제 양성 가운데 잡아낸 비율입니다.
문제 8. 정밀도가 0.75, 재현율이 0.60일 때 F1 점수는 약 얼마입니까?
F1은 조화평균이라 2 곱하기 0.75 곱하기 0.60인 0.9를 두 값의 합 1.35로 나눠 약 0.67입니다. 산술평균 0.675보다 조금 작습니다.
문제 9. F1 점수가 산술평균이 아니라 조화평균인 이유로 가장 알맞은 것은?
조화평균은 작은 쪽에 끌려가므로 정밀도가 1이라도 재현율이 0에 가까우면 F1도 0에 가깝습니다. 둘을 함께 챙기게 만드는 장치입니다.
문제 10. 거짓 양성률(FPR)과 특이도의 관계로 옳은 것은?
거짓 양성률은 실제 음성 가운데 양성으로 잘못 잡은 비율이고, 특이도는 실제 음성 가운데 음성으로 맞힌 비율이라 둘을 더하면 1입니다.
묶음 2
문제 1. 부정 거래 탐지 모델에서 특히 중시해야 할 지표로 가장 알맞은 것은?
부정 거래를 정상으로 놓치는 거짓 음성이 큰 손실이라 재현율을 중시합니다. 불균형이 심해 정확도는 높게 나와도 믿기 어렵습니다.
문제 2. 임계값을 0.5에서 0.3으로 낮추면 흔히 일어나는 일로 알맞은 것은?
기준이 낮아지면 더 많은 관측치를 양성으로 잡으므로 실제 양성을 더 많이 찾지만, 잘못 잡는 경우도 늘어 정밀도는 떨어지기 쉽습니다.
문제 3. 정밀도와 재현율의 관계로 가장 알맞은 것은?
둘은 임계값을 두고 줄다리기하는 관계라 업무 비용을 보고 균형점을 고릅니다. F1 점수는 이 균형을 하나의 숫자로 봅니다.
문제 4. 불균형 데이터에서 정확도만으로 모델을 평가하면 안 되는 이유로 가장 알맞은 것은?
양성이 1퍼센트라면 전부 음성이라고 답해도 정확도가 99퍼센트입니다. 그래서 재현율, 정밀도, F1, AUC를 함께 봅니다.
문제 5. ROC 곡선에서 좋은 모델의 모습으로 옳은 것은?
왼쪽 위는 거짓 양성률이 0이고 참 양성률이 1인 완벽한 지점입니다. 대각선은 무작위로 찍는 모델입니다.
문제 6. AUC가 0.5인 모델에 관한 해석으로 옳은 것은?
ROC 곡선이 대각선이면 넓이가 0.5이고, 이는 양성과 음성을 전혀 가르지 못한다는 뜻입니다. AUC가 1이면 완벽합니다.
문제 7. AUC가 0.92인 모델 A와 0.75인 모델 B를 비교한 설명으로 옳은 것은?
AUC는 임계값 하나에 묶이지 않고 모델의 판별력을 한 숫자로 요약하므로, 1에 가까운 A가 더 잘 가른다고 봅니다.
문제 8. ROC 곡선을 그릴 때 바꿔 가는 값은 무엇입니까?
임계값을 바꿀 때마다 혼동행렬이 달라지고, 그때의 거짓 양성률과 참 양성률을 점으로 찍어 곡선을 만듭니다.
문제 9. 향상도(lift)의 정의로 옳은 것은?
향상도는 모델을 써서 고른 고객이 무작위로 고른 고객보다 몇 배 잘 반응하는지를 보여 줍니다.
문제 10. 좋은 모델의 향상도 곡선 모습으로 가장 알맞은 것은?
좋은 모델은 반응할 고객을 상위 구간에 몰아 둡니다. 모든 구간의 향상도가 1이라면 무작위로 고른 것과 다를 바 없습니다.
묶음 3
문제 1. 이익도표를 만들 때 고객을 정렬하는 기준은 무엇입니까?
예측 확률이 높은 순으로 줄 세운 뒤 10퍼센트씩 구간을 나눠 구간마다 실제 반응률과 누적 반응자 비율을 봅니다.
문제 2. 전체 반응률이 2퍼센트이고 상위 10퍼센트 구간의 반응률이 10퍼센트일 때 향상도는 얼마입니까?
10을 2로 나눠 향상도는 5입니다. 상위 10퍼센트에게만 연락해도 무작위보다 다섯 배 많은 반응자를 만날 수 있습니다.
문제 3. 혼동행렬을 만들 때 먼저 정해야 할 것으로 가장 알맞은 것은?
양성을 무엇으로 두느냐에 따라 정밀도와 재현율의 뜻이 달라집니다. 보통 이탈, 부정, 질병처럼 찾고 싶은 사건을 양성으로 둡니다.
문제 4. 2과목 4강의 "정밀도"와 이 강의 정밀도의 관계로 옳은 것은?
같은 우리말이 두 과목에서 다른 뜻으로 쓰입니다. 시험에서는 문맥이 프로젝트 품질인지 분류 모델 평가인지로 가려야 합니다.
문제 5. 정밀도는 매우 높지만 재현율이 매우 낮은 모델의 모습으로 알맞은 것은?
아주 확실할 때만 양성이라고 하면 그 판정은 대개 맞지만 애매한 양성을 모두 놓칩니다. 임계값이 지나치게 높을 때의 모습입니다.
문제 6. 모든 관측치를 양성으로 판정하는 모델의 재현율과 특이도는 각각 얼마입니까?
모두 양성이라고 하면 실제 양성은 모두 잡으니 재현율은 1이지만, 실제 음성은 하나도 음성으로 맞히지 못하니 특이도는 0입니다.
문제 7. 실제 양성 50건, 실제 음성 950건인 데이터에서 TP 40, FP 60일 때 정밀도는 얼마입니까?
정밀도는 TP를 예측 양성 수로 나눈 값이라 40을 40과 60의 합 100으로 나눠 0.4입니다. 재현율은 40을 50으로 나눠 0.8로, 같은 모델도 지표에 따라 전혀 다르게 보입니다.
문제 8. R에서 예측값 pred와 실제값 actual로 혼동행렬을 만드는 가장 간단한 표현은 무엇입니까?
table에 두 범주형 벡터를 주면 교차표가 만들어지고, 이것이 곧 혼동행렬입니다.
문제 9. R에서 ROC 곡선과 AUC를 구할 때 쓰는 패키지로 알맞은 것은?
pROC와 ROCR은 예측 확률과 실제값으로 ROC 곡선을 그리고 AUC를 계산합니다.
문제 10. 분류 모형의 평가에 관한 진술로 옳지 않은 것은?
실제 양성 가운데 맞힌 비율은 재현율이고, 정밀도는 모델이 양성이라고 예측한 것 가운데 실제 양성의 비율입니다. 나머지 셋은 옳은 진술입니다.