Spec-Zone.ru › scikit-learn

cohen_kappa_score

sklearn.metrics.cohen_kappa_score(y1, y2, *, labels=None, weights=None, sample_weight=None, replace_undefined_by=nan)[исходный код]

Вычисляет каппу Коэна — статистику, измеряющую согласованность между аннотаторами.

Эта функция вычисляет каппу Коэна [1] — оценку, отражающую степень согласованности двух аннотаторов при решении задачи классификации. Она определяется следующим образом:

\[\kappa = (p_o - p_e) / (1 - p_e)\]

где \(p_o\) — эмпирическая вероятность совпадения меток, присвоенных образцам (наблюдаемая доля совпадений), а \(p_e\) — ожидаемая согласованность, если оба аннотатора присваивают метки случайным образом. \(p_e\) оценивается с использованием эмпирического априорного распределения меток классов для каждого аннотатора [2].

Подробнее см. в Руководстве пользователя.

Параметры:
y1array-like of shape (n_samples,)

Метки, присвоенные первым аннотатором.

y2array-like of shape (n_samples,)

Метки, присвоенные вторым аннотатором. Статистика каппа симметрична, поэтому перестановка y1 и y2 не изменит значение.

labelsarray-like of shape (n_classes,), default=None

Список меток для индексации матрицы. Его можно использовать для выбора подмножества меток. Если None, используются все метки, которые встречаются хотя бы один раз в y1 или y2. Обратите внимание, что хотя бы одна метка из labels должна присутствовать в y1, несмотря на то что в остальном эта функция не зависит от порядка y1 и y2.

weights{‘linear’, ‘quadratic’}, default=None

Тип взвешивания для вычисления оценки. None означает отсутствие взвешивания; “linear” означает линейное взвешивание; “quadratic” означает квадратичное взвешивание.

sample_weightarray-like of shape (n_samples,), default=None

Веса образцов.

replace_undefined_bynp.nan, float in [-1.0, 1.0], default=np.nan

Задает возвращаемое значение, если метрика не определена. Это может произойти, если второй аннотатор не присвоил ни одной метки, представляющей интерес (как определено параметром labels), или если y1 и y2`only have one label in common that is also in `labels. В этих случаях возникает предупреждение UndefinedMetricWarning. Возможны следующие значения:

  • np.nan для возврата np.nan
  • значение с плавающей точкой в диапазоне [-1.0, 1.0] для возврата определенного значения

Добавлено в версии 1.9.

Возвращает:
kappafloat

Статистика каппа — число от -1.0 до 1.0. Максимальное значение означает полное согласие; минимальное значение — полное несогласие; 0.0 указывает на отсутствие согласия сверх ожидаемого случайно.

Литература

[1]

J. Cohen (1960). «Коэффициент согласия для номинальных шкал». Educational and Psychological Measurement 20(1):37-46.

[2]

R. Artstein and M. Poesio (2008). «Согласованность между кодировщиками в компьютерной лингвистике». Computational Linguistics 34(4):555-596.

[3]

Статья в Википедии о каппе Коэна.

Примеры

>>> from sklearn.metrics import cohen_kappa_score
>>> y1 = ["negative", "positive", "negative", "neutral", "positive"]
>>> y2 = ["negative", "positive", "negative", "neutral", "negative"]
>>> cohen_kappa_score(y1, y2)
0.6875

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.cohen_kappa_score.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API