When Accuracy Lies

개념 확인: Imbalanced Data


드문 범주가 관심일 때 정확도 대신 무엇을 보고, 임계값·표본 수·가중치를 어떻게 바꾸는지 판단한다.

문제 1

기준모델과 정확도

문제 1~2는 검증 거래 2,000건 중 실제 사기 50건, 정상 1,950건인 가상 자료를 쓴다. 사기를 양성으로 둔다.

로지스틱 회귀 모델의 결과는 TP = 35, FP = 60, FN = 15, TN = 1,890이다.

  1. 모든 거래를 정상으로 예측하는 기준모델의 정확도와 재현율을 구한다.
  2. 로지스틱 회귀 모델의 정확도를 구하고 기준모델과 비교한다.
  3. 정확도만 보고 기준모델을 고르면 무엇을 놓치는지 혼동행렬의 칸으로 적는다.
  4. 기준모델을 같은 평가 자료에서 계산해야 하는 이유를 적는다.
해설 펼치기
  1. 정확도 1,950/2,000 = 0.975, 재현율 0/50 = 0이다.
  2. (35 + 1,890)/2,000 = 0.9625로 기준모델보다 낮다.
  3. 기준모델은 사기 50건을 모두 FN으로 놓친다. 로지스틱 회귀는 FN 15건, FP 60건이다. 정확도는 이 차이를 드러내지 않는다.
  4. 다수 범주 비율이 평가 자료마다 다르면 기준 정확도도 달라지므로 같은 자료에서 비교해야 개선 여부를 판단할 수 있다.
문제 2

살아남는 지표

문제 1의 검증 자료와 모델을 사용한다.

  1. 문제 1 모델의 정밀도, 재현율, F₁을 구한다(소수 셋째 자리까지).
  2. 음성 재현율(TN/(TN + FP))과 균형 정확도를 구하고, 기준모델의 균형 정확도와 비교한다.
  3. 정확도를 (N₊/N) × 양성 재현율 + (N₋/N) × 음성 재현율로 나누어 계산하고, 양성 재현율이 정확도에 반영되는 비중을 적는다.
  4. 놓친 사기를 줄이는 것이 목적일 때 우선 볼 지표와 함께 확인할 값을 적는다.
해설 펼치기
  1. 정밀도 35/95 ≈ 0.368, 재현율 35/50 = 0.7, F₁ = 70/145 ≈ 0.483이다.
  2. 음성 재현율 1,890/1,950 ≈ 0.969, 균형 정확도 = (0.7 + 0.969)/2 ≈ 0.835다. 기준모델은 (0 + 1)/2 = 0.5다.
  3. (50/2,000) × 0.7 + (1,950/2,000) × 0.969 ≈ 0.9625다. 양성 재현율의 비중은 0.025뿐이라 사기 오류가 정확도에 작게 반영된다.
  4. 재현율을 우선 보고 정밀도나 FP 건수를 함께 확인한다.
문제 3

임계값 옮기기

검증 거래 200건 중 사기 10건인 가상 자료에서 같은 확률 점수에 세 임계값을 적용했다.

임계값TPFP
0.543
0.3710
0.1935
  1. 각 임계값의 FN, 정밀도, 재현율을 구한다(소수 셋째 자리까지).
  2. ‘재현율 0.7 이상 중 FP가 가장 적은 임계값’을 기준으로 하면 무엇을 고르는지 적는다.
  3. FP 비율과 FN 비율이 같아지는 임계값을 자동으로 고르면 안 되는 이유를 적는다.
  4. 이 표가 검증 자료에서 나왔다면 선택한 임계값을 테스트 자료에서 어떻게 다뤄야 하는지 적는다.
  5. 세 임계값을 PR 곡선의 (재현율, 정밀도) 점으로 적는다(소수 셋째 자리까지). 실제 사기 비율을 무작위 순위의 기준 높이로 둘 때 각 점이 그보다 위인지 확인하고, 세 점만으로 전체 PR 곡선을 얻었다고 할 수 있는지 설명한다.
  6. 별도의 검증 자료 두 개가 각각 1,000건이며 양성 비율은 A에서 1%, B에서 10%다. 두 자료에서 같은 임계값의 양성 재현율은 0.8, 음성 중 양성으로 잘못 예측한 비율(FPR)은 0.1이라고 하자. 각각 TP·FP·정밀도를 구하고, 재현율과 FPR이 같아도 PR 곡선의 점이 달라지는 이유를 설명한다.
해설 펼치기
  1. 0.5: FN 6, 정밀도 4/7 ≈ 0.571, 재현율 0.4. 0.3: FN 3, 정밀도 7/17 ≈ 0.412, 재현율 0.7. 0.1: FN 1, 정밀도 9/44 ≈ 0.205, 재현율 0.9.
  2. 0.3이다. 0.1도 재현율 조건을 만족하지만 FP가 35건으로 더 많다.
  3. 두 비율이 같은 지점은 두 오류의 비용이나 평가 목적을 반영하지 않으므로 반드시 최적은 아니다.
  4. 임계값을 고정한 채 테스트 자료에서 한 번 평가하고, 테스트 점수를 보고 임계값을 다시 고르지 않는다.
  5. 임계값 0.5, 0.3, 0.1의 점은 각각 (0.400, 0.571), (0.700, 0.412), (0.900, 0.205)다. 무작위 순위의 기준 높이는 사기 비율 10/200 = 0.050이며 세 점의 정밀도는 모두 이보다 높다. 이 표에는 세 임계값만 있으므로 다른 임계값의 점까지 포함하는 전체 PR 곡선은 아니다.
  6. A는 양성 10건·음성 990건이므로 TP = 8, FP = 99, 정밀도는 8/107 ≈ 0.075다. B는 양성 100건·음성 900건이므로 TP = 80, FP = 90, 정밀도는 80/170 ≈ 0.471이다. 두 점은 각각 (0.800, 0.075), (0.800, 0.471)이며, 양성 비율이 달라 FP 대비 TP 수가 바뀐다. 무작위 순위의 기준 높이도 각각 0.01과 0.10이다. 별개의 평가 자료에서 나온 두 점만으로 각 자료의 전체 PR 곡선 모양은 알 수 없다.
문제 4

표본 수 조정

학습 관측 800개 중 소수 범주가 40개, 다수 범주가 760개다.

  1. 다수 표본 줄이기와 소수 표본 복제하기로 두 범주 수를 맞출 때 각 범주 수와 합을 구한다.
  2. 두 방법이 각각 잃거나 만들지 못하는 것을 적는다.
  3. 전체 자료에서 소수 표본을 먼저 복제한 뒤 학습·검증으로 나누면 생기는 문제 두 가지를 적는다.
  4. 올바른 순서를 층화 분할(stratify)을 포함해 적는다.
해설 펼치기
  1. 줄이기: 40 + 40 = 80. 복제하기: 760 + 760 = 1,520.
  2. 줄이기는 제외한 다수 관측의 정보를 잃을 수 있고, 복제는 같은 관측을 반복할 뿐 새로운 정보를 만들지 못한다.
  3. 검증 자료의 범주 비율이 실제 상황과 달라지고, 같은 복제 관측이 학습과 검증 양쪽에 들어가 성능이 부풀 수 있다.
  4. 범주 비율을 유지하도록 층화 분할한 뒤 학습 자료에만 표본 수 조정을 적용하고, 원래 비율의 검증 자료에서 비교한다.
문제 5

범주 가중치

문제 4의 학습 자료에 균형 가중치 w(c) = n/(C × n(c))를 쓴다. C는 범주 수, n(c)는 범주 c의 학습 관측 수다.

  1. 소수와 다수 범주의 관측당 가중치와 범주별 가중치 합을 구한다(소수 셋째 자리까지).
  2. 가중치를 틀린 예측에만 곱한다는 설명이 왜 틀렸는지 적는다.
  3. 가중치 적용 후 재현율이 0.60에서 0.89로 오르고 정밀도가 0.89에서 0.05로 떨어졌다. 어떤 변화가 일어났는지 FP와 FN으로 설명한다.
  4. 균형 가중치가 실제 업무의 오류 비용을 뜻하지 않는 이유와, 가중치로 해결하기 어려운 상황 하나를 적는다.
해설 펼치기
  1. 소수 800/(2 × 40) = 10, 다수 800/(2 × 760) ≈ 0.526이다. 합은 40 × 10 = 400, 760 × 0.526 ≈ 400으로 같다.
  2. 가중치는 해당 범주에 속한 모든 관측의 손실에 곱한다.
  3. 양성 예측이 크게 늘어 FN은 줄었지만 FP가 훨씬 많아졌다.
  4. 가중치는 범주 빈도만으로 정해지며 FN·FP의 실제 비용은 업무 절차에 따라 따로 정해야 한다. 소수 범주 관측이 매우 적거나 서로 다른 범주가 같은 특성값을 가지면 가중치로 새 정보를 만들 수 없다.