roc_curve#

sklearn.metrics.roc_curve(y_true, y_score, *, pos_label=None, sample_weight=None, drop_intermediate=True)[источник]#

Вычислить характеристическую кривую оператора (ROC).

Примечание: Поддержка за пределами бинарный задачи классификации через one-vs-rest или one-vs-one не реализованы.

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

Параметры:
y_truearray-like формы (n_samples,)

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

y_scorearray-like формы (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_weightarray-like формы (n_samples,), по умолчанию=None

Веса выборок.

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

Удалять ли пороги, где результирующая точка коллинеарна с соседними точками в ROC-пространстве. Это не влияет на ROC AUC или визуальную форму кривой, но уменьшает количество отображаемых точек.

Добавлено в версии 0.17: параметр drop_intermediate.

Возвращает:
fprndarray формы (>2,)

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

tprndarray формы (>2,)

Увеличение истинно положительных показателей, так что элемент i это истинная положительная частота предсказаний с оценкой >= thresholds[i].

порогиndarray формы (n_thresholds,)

Убывающие пороги функции принятия решений, используемые для вычисления fpr и tpr. Первый порог установлен в np.inf.

Изменено в версии 1.3: Произвольный порог на бесконечности (хранится в thresholds[0]) добавлен для представления классификатора, который всегда предсказывает отрицательный класс, т.е. fpr=0 и tpr=0.

Смотрите также

RocCurveDisplay.from_estimator

Построение кривой рабочей характеристики приёмника (ROC) для заданного оценщика и некоторых данных.

RocCurveDisplay.from_predictions

Построить кривую рабочих характеристик приемника (ROC) по истинным и предсказанным значениям.

RocCurveDisplay.from_cv_results

Построить ROC-кривые для нескольких фолдов по результатам кросс-валидации.

det_curve

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

roc_auc_score

Вычислить площадь под ROC-кривой.

confusion_matrix_at_thresholds

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

Примечания

Поскольку пороги отсортированы от низких к высоким значениям, они переворачиваются при возврате, чтобы гарантировать соответствие обоим fpr и tpr, которые сортируются в обратном порядке во время их вычисления.

Ссылки

[2]

Fawcett T. An introduction to ROC analysis[J]. Pattern Recognition Letters, 2006, 27(8):861-874.

Примеры

>>> import numpy as np
>>> from sklearn import metrics
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>> fpr
array([0. , 0. , 0.5, 0.5, 1. ])
>>> tpr
array([0. , 0.5, 0.5, 1. , 1. ])
>>> thresholds
array([ inf, 0.8 , 0.4 , 0.35, 0.1 ])