Spec-Zone.ru › scikit-learn

recall_score

sklearn.metrics.recall_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')[исходный код]

Вычисляет полноту.

Полнота — это отношение tp / (tp + fn), где tp — количество истинно положительных результатов, а fn — количество ложноотрицательных результатов. Интуитивно полнота показывает способность классификатора находить все положительные образцы.

Наилучшее значение — 1, наихудшее — 0.

Поддержка целей, выходящих за рамки бинарных, реализуется путем обработки данных многоклассовой и многометочной классификации как набора бинарных задач — по одной для каждой метки. Для бинарного случая установка average='binary' вернет полноту для pos_label. Если average не равно 'binary', pos_label игнорируется, полнота вычисляется для обоих классов, а затем результаты усредняются или возвращаются оба значения (если задано average=None). Аналогично, для целей многоклассовой и многометочной классификации полнота для всех labels либо возвращается, либо усредняется в зависимости от параметра average. Используйте labels, чтобы указать набор меток, для которых нужно вычислить полноту.

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

Параметры:
y_true1d array-like или массив индикаторов меток / разреженная матрица

Истинные (корректные) целевые значения. Разреженная матрица поддерживается, только если цели имеют тип многометочной классификации.

y_pred1d array-like или массив индикаторов меток / разреженная матрица

Предсказанные целевые значения, возвращенные классификатором. Разреженная матрица поддерживается, только если цели имеют тип многометочной классификации.

labelsarray-like, по умолчанию=None

Набор меток, которые следует включить при average != 'binary', и их порядок, если average is None. Присутствующие в данных метки можно исключить, например, в многоклассовой классификации, чтобы исключить «отрицательный класс». Метки, отсутствующие в данных, можно включить; им будет «назначено» 0 образцов. Для многометочных целей метки представляют собой индексы столбцов. По умолчанию все метки из y_true и y_pred используются в отсортированном порядке.

Изменено в версии 0.17: Параметр labels усовершенствован для многоклассовых задач.

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», этот способ учитывает дисбаланс меток; в результате оценка F может не находиться между точностью и полнотой. Взвешенная полнота равна точности.

'samples':

Вычислять метрики для каждого экземпляра и находить их среднее (имеет смысл только для многометочной классификации, где отличается от accuracy_score).

sample_weightarray-like формы (n_samples,), по умолчанию=None

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

zero_division{“warn”, 0.0, 1.0, np.nan}, по умолчанию=”warn”

Задает возвращаемое значение при делении на ноль.

Примечания:

  • Если задано значение “warn”, оно действует как 0, но также выдается предупреждение.
  • Если задано np.nan, такие значения исключаются из среднего.

Добавлено в версии 1.3: Добавлен параметр np.nan.

Возвращает:
recallfloat (если average не равно None) или массив float формы (n_unique_labels,)

Полнота положительного класса в бинарной классификации или взвешенное среднее полноты каждого класса для многоклассовой задачи.

См. также

precision_recall_fscore_support

Вычисляет точность, полноту, F-меру и поддержку для каждого класса.

precision_score

Вычисляет отношение tp / (tp + fp), где tp — количество истинно положительных результатов, а fp — количество ложноположительных результатов.

balanced_accuracy_score

Вычисляет сбалансированную точность для работы с несбалансированными наборами данных.

multilabel_confusion_matrix

Вычисляет матрицу ошибок для каждого класса или образца.

PrecisionRecallDisplay.from_estimator

Строит кривую точности-полноты на основе оценщика и данных.

PrecisionRecallDisplay.from_predictions

Строит кривую точности-полноты на основе предсказаний бинарных классов.

Примечания

Когда true positive + false negative == 0, функция recall возвращает 0 и выдает UndefinedMetricWarning. Это поведение можно изменить с помощью zero_division.

Примеры

>>> import numpy as np
>>> from sklearn.metrics import recall_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> recall_score(y_true, y_pred, average='macro')
0.33
>>> recall_score(y_true, y_pred, average='micro')
0.33
>>> recall_score(y_true, y_pred, average='weighted')
0.33
>>> recall_score(y_true, y_pred, average=None)
array([1., 0., 0.])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> recall_score(y_true, y_pred, average=None)
array([0.5, 0. , 0. ])
>>> recall_score(y_true, y_pred, average=None, zero_division=1)
array([0.5, 1. , 1. ])
>>> recall_score(y_true, y_pred, average=None, zero_division=np.nan)
array([0.5, nan, nan])
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> recall_score(y_true, y_pred, average=None)
array([1. , 1. , 0.5])

Примеры из галереи

Калибровочные кривые вероятностей

Настройка порога принятия решения для обучения с учетом стоимости

Точность-полнота

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

Spec-Zone.ru

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