ᐧ༚̮ᐧ Data Science | AI/통계, 수학
[AI | 통계] 카파 상관계수 (Cohen's Kappa) feat. scikit-learn 코드 예제
데이터과학자B
2024. 11. 21. 09:31
728x90
반응형
코헨의 카파(Cohen's kappa, κ) 점수는 두 관찰자가 어떤 항목을 분류할 때 얼마나 일치하는지, 그리고 그 일치도가 우연 때문이 아닌지를 평가하는 지표이다.
예를 들어, 두 사람이나 딥러닝 모델이 소셜 미디어 게시물을 검토하고 '적절함' 또는 '부적절함'으로 분류한다고 가정해 봤을 때, 두 평가자(또는 모델)가 얼마나 일치했는지를 확인하려면 코헨의 카파 점수를 계산할 수 있다.
공식:
- p_o: 관찰된 일치 비율, 즉 평가자들이 실제로 일치한 비율을 의미
- p_e: 우연히 일치할 가능성을 나타내는 기대 일치 비율
값의 해석:
- κ=1: 완전한 일치.
- κ=0: 우연과 동일한 수준의 일치.
- κ<: 우연보다 낮은 수준의 일치.
보통 다음과 같이 해석한다:
- 0.81–1.00: 거의 완벽한 일치.
- 0.61–0.80: 상당한 일치.
- 0.41–0.60: 중간 수준의 일치.
- 0.21–0.40: 보통 수준의 일치.
- 0.00–0.20: 약간의 일치.
- < 0.00: 일치하지 않음.
예시: 소셜 미디어 부적절한 게시물 검토
A와 B는 소셜 미디어 게시물을 검토하고, 각각 "적절함" (1) 또는 "부적절함" (0)으로 분류합니다. 두 사람이 얼마나 일치했는지 확인하려면 코헨의 카파 점수를 계산할 수 있습니다.
데이터 예시
게시물: 1 2 3 4 5 6 7 8 9 10
관리자 A: 1 0 1 1 0 0 1 0 1 1
관리자 B: 1 0 1 0 0 0 1 1 1 1
코헨의 카파 계산:
- p_o: 관찰된 일치 비율. 두 사람이 일치한 경우는 게시물은 총 8개이다.
p_o = 8/10 = 0.8 - p_e:
적절함이라고 말할 확률: A(6/10) x B(6/10) = 0.36
부적절함이라고 말할 확률: A(4/10) x B(4/10) = 0.16
p_e = 0.36 + 0.16 = 0.52
보통 수준의 일치: 두 관찰자는 단순히 우연에 의해 예측되는 것보다 더 자주 일치했지만, 그들의 일치도가 특별히 높은 것은 아니다.
아래 코드로 파이썬에서 카파 상관계수를 계산할 수 있다.
from sklearn.metrics import cohen_kappa_score
# 예시 데이터
observer_a = [1, 0, 1, 1, 0, 0, 1, 0, 1, 1]
observer_b = [1, 0, 1, 0, 0, 0, 1, 1, 1, 1]
# 코헨의 카파 계산
kappa = cohen_kappa_score(observer_a, observer_b)
print(kappa)
출력:
0.5833333333333333
728x90
반응형