Spec-Zone.ru › scikit-learn

precision_recall_curve

sklearn.metrics.precision_recall_curve(y_true, y_score, *, pos_label=None, sample_weight=None, drop_intermediate=False)[исходный код]

Вычисляет пары «точность — полнота» для разных порогов вероятности.

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

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

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

Последние значения точности и полноты равны соответственно 1 и 0 и не имеют соответствующего порога. Это гарантирует, что график начинается на оси y.

Первые значения точности и полноты равны соответственно precision=class balance и recall=1.0 и соответствуют классификатору, который всегда предсказывает положительный класс.

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

Параметры:
y_trueмассивоподобный объект формы (n_samples,)

Истинные бинарные метки. Если метки не принадлежат множеству {-1, 1} или {0, 1}, необходимо явно задать pos_label.

y_scoreмассивоподобный объект формы (n_samples,)

Оценки целевого класса: это могут быть оценки вероятности положительного класса или мера принятия решений без применения порога (возвращаемая decision_function некоторыми классификаторами). Для оценок decision_function значения, большие или равные нулю, должны обозначать положительный класс.

pos_labelint, float, bool или str, по умолчанию=None

Метка положительного класса. Если pos_label=None и y_true принимает значения {-1, 1} или {0, 1}, pos_label устанавливается равным 1; в противном случае возникает ошибка.

sample_weightмассивоподобный объект формы (n_samples,), по умолчанию=None

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

drop_intermediatebool, по умолчанию=False

Следует ли отбрасывать некоторые неоптимальные пороги, которые не отображались бы на графике «точность — полнота». Это позволяет строить более компактные графики «точность — полнота».

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

Возвращает:
precisionndarray формы (n_thresholds + 1,)

Значения точности: элемент i — это точность предсказаний с оценкой >= thresholds[i], а последний элемент равен 1.

recallndarray формы (n_thresholds + 1,)

Убывающие значения полноты: элемент i — это полнота предсказаний с оценкой >= thresholds[i], а последний элемент равен 0.

thresholdsndarray формы (n_thresholds,)

Возрастающие пороги для функции принятия решений, используемые для вычисления точности и полноты, где n_thresholds = len(np.unique(y_score)).

См. также

PrecisionRecallDisplay.from_estimator

Строит график «точность — полнота» для бинарного классификатора.

PrecisionRecallDisplay.from_predictions

Строит график «точность — полнота» на основе предсказаний бинарного классификатора.

average_precision_score

Вычисляет среднюю точность по оценкам предсказаний.

det_curve

Вычисляет частоты ошибок для разных порогов вероятности.

roc_curve

Вычисляет ROC-кривую (рабочую характеристику приемника).

confusion_matrix_at_thresholds

Для бинарной классификации вычисляет количество истинно отрицательных, ложноположительных, ложноотрицательных и истинно положительных результатов для каждого порога.

Примеры

>>> import numpy as np
>>> from sklearn.metrics import precision_recall_curve
>>> y_true = np.array([0, 0, 1, 1])
>>> y_scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> precision, recall, thresholds = precision_recall_curve(
...     y_true, y_scores)
>>> precision
array([0.5       , 0.66666667, 0.5       , 1.        , 1.        ])
>>> recall
array([1. , 1. , 0.5, 0.5, 0. ])
>>> thresholds
array([0.1 , 0.35, 0.4 , 0.8 ])

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

Визуализация с помощью объектов отображения

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

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

Spec-Zone.ru

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