실습 · 연습문제 1개
심사자 간 일치도: Cohen kappa cohen-kappa
두 심사자가 같은 논문 편에 범주 판정(예: "accept", "weak", "reject")을 내렸다. 두 판정이 같은 비율인 관측 일치율 는 범주가 한쪽에 쏠려 있으면 우연만으로도 높아진다. Cohen kappa는 우연히 일치할 비율 를 빼고 남은 일치를 잰다.
, 는 각각 심사자 1과 2가 범주 를 고른 비율이다. 합은 두 심사자 중 한 명이라도 쓴 모든 범주에 대해 한다.
함수 cohen_kappa(a, b)를 완성한다.
| 인자 | 설명 |
|---|---|
a |
심사자 1의 판정. 길이 인 리스트 또는 배열(정수·문자열 범주 모두 가능) |
b |
심사자 2의 판정. 길이 |
- 반환값은
float인 kappa다. - 두 심사자가 모두 같은 한 범주만 썼다면 이라 kappa가 정의되지 않는다. 이때는
float("nan")을 반환한다. a와b의 길이가 다르면ValueError를 낸다.
테스트는 완전 일치(kappa = 1), 본문의 예(0.375), 무조건 같은 판정을 내리는 심사자(kappa = 0), 세 범주 문자열 판정, 정의되지 않는 경우를 확인한다.
힌트: np.union1d(a, b)로 두 심사자가 쓴 범주를 모은다.