jaccard_score
- sklearn.metrics.jaccard_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')[исходный код]
-
Оценка коэффициента сходства Жаккара.
Индекс Жаккара [1], или коэффициент сходства Жаккара, определяемый как отношение размера пересечения к размеру объединения двух наборов меток, используется для сравнения набора предсказанных меток для образца с соответствующим набором меток в
y_true.Поддержка целей за пределами бинарных достигается путем обработки данных многоклассовой и многометочной классификации как набора бинарных задач, по одной для каждой метки. В случае бинарной классификации параметр
average='binary'возвращает коэффициент сходства Жаккара дляpos_label. Еслиaverageне равен'binary', параметрpos_labelигнорируется, а оценки для обоих классов вычисляются, после чего усредняются или возвращаются обе (если заданоaverage=None). Аналогично, для целей многоклассовой и многометочной классификации оценки для всехlabelsлибо возвращаются, либо усредняются в зависимости от параметраaverage. Используйтеlabels, чтобы указать набор меток, для которых нужно вычислить оценку.Подробнее см. в руководстве пользователя.
- Параметры:
-
- y_trueмассивоподобный объект размерности 1 или массив индикаторов меток / разреженная матрица
-
Истинные (правильные) метки. Разреженная матрица поддерживается только для меток типа многометочной классификации.
- y_predмассивоподобный объект размерности 1 или массив индикаторов меток / разреженная матрица
-
Предсказанные метки, возвращаемые классификатором. Разреженная матрица поддерживается только для меток типа многометочной классификации.
- labelsмассивоподобный объект формы (n_classes,), по умолчанию None
-
Набор меток, включаемых при
average != 'binary', и их порядок, еслиaverage is None. Метки, присутствующие в данных, можно исключить, например, чтобы исключить «отрицательный класс» в многоклассовой классификации. Можно включить метки, отсутствующие в данных; им будет «назначено» 0 образцов. Для многометочных целей метки являются индексами столбцов. По умолчанию все метки изy_trueиy_predиспользуются в отсортированном порядке. - pos_labelint, float, bool или str, по умолчанию 1
-
Класс, для которого нужно вывести результат, если
average='binary'и данные бинарные; в противном случае этот параметр игнорируется. Для многоклассовых или многометочных целей задайтеlabels=[pos_label]иaverage != 'binary', чтобы вывести метрики только для одной метки. - average{‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’} или None, по умолчанию ‘binary’
-
Если задано
None, возвращаются оценки для каждого класса. В противном случае этот параметр определяет способ усреднения данных:-
'binary': -
Выводить результаты только для класса, указанного в
pos_label. Применимо только в том случае, если целевые значения (y_{true,pred}) бинарные. -
'micro': -
Вычислять метрики глобально, подсчитывая общее количество истинно положительных, ложно отрицательных и ложно положительных результатов.
-
'macro': -
Вычислять метрики для каждой метки и находить их невзвешенное среднее. Дисбаланс меток не учитывается.
-
'weighted': -
Вычислять метрики для каждой метки и находить их среднее, взвешенное по поддержке (количеству истинных экземпляров каждой метки). Это изменяет режим «macro», учитывая дисбаланс меток.
-
'samples': -
Вычислять метрики для каждого экземпляра и находить их среднее (имеет смысл только для многометочной классификации).
-
- sample_weightмассивоподобный объект формы (n_samples,), по умолчанию None
-
Веса образцов.
- zero_division“warn”, {0.0, 1.0}, по умолчанию ”warn”
-
Задает возвращаемое значение при делении на ноль, то есть когда в предсказаниях и метках нет отрицательных значений. Если задано значение “warn”, возвращается 0, а также выдается предупреждение.
Добавлено в версии 0.24.
- Возвращает:
-
- scorefloat или ndarray формы (n_unique_labels,), dtype=np.float64
-
Оценка Жаккара. Если
averageне равенNone, возвращается одно скалярное значение.
См. также
accuracy_score-
Функция для вычисления оценки точности.
f1_score-
Функция для вычисления оценки F1.
multilabel_confusion_matrix-
Функция для вычисления матрицы ошибок для каждого класса или образца.
Примечания
jaccard_scoreможет быть неудачной метрикой, если для некоторых образцов или классов нет положительных значений. Индекс Жаккара не определен, если отсутствуют истинные и предсказанные метки; в этом случае наша реализация возвращает оценку 0 и выдает предупреждение.Ссылки
Примеры
>>> import numpy as np >>> from sklearn.metrics import jaccard_score >>> y_true = np.array([[0, 1, 1], ... [1, 1, 0]]) >>> y_pred = np.array([[1, 1, 1], ... [1, 0, 0]])
В бинарном случае:
>>> jaccard_score(y_true[0], y_pred[0]) 0.6666
В случае двумерного сравнения (например, сходства изображений):
>>> jaccard_score(y_true, y_pred, average="micro") 0.6
В случае многометочной классификации:
>>> jaccard_score(y_true, y_pred, average='samples') 0.5833 >>> jaccard_score(y_true, y_pred, average='macro') 0.6666 >>> jaccard_score(y_true, y_pred, average=None) array([0.5, 0.5, 1. ])
В случае многоклассовой классификации:
>>> y_pred = [0, 2, 1, 2] >>> y_true = [0, 1, 2, 2] >>> jaccard_score(y_true, y_pred, average=None) array([1. , 0. , 0.33])
Примеры в галерее
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.jaccard_score.html