roc_curve
- sklearn.metrics.roc_curve(y_true, y_score, *, pos_label=None, sample_weight=None, drop_intermediate=True)[исходный код]
-
Вычисляет характеристику приёмника (ROC).
Примечание: поддержка задач классификации, отличных от бинарной классификации, с использованием схемы «один против остальных» или «один против одного» не реализована.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- y_trueмассивоподобный объект формы (n_samples,)
-
Истинные бинарные метки. Если метки не входят в множество {-1, 1} или {0, 1}, необходимо явно задать pos_label.
- y_scoreмассивоподобный объект формы (n_samples,)
-
Оценки целевого класса: это могут быть оценки вероятности положительного класса или значения функции принятия решения без пороговой обработки (возвращаемые функцией принятия решения некоторых классификаторов). Для оценок функции принятия решения значения, большие или равные нулю, должны указывать на положительный класс.
- 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, по умолчанию=True
-
Следует ли отбрасывать пороговые значения, для которых соответствующая точка лежит на одной прямой с соседними точками в пространстве ROC. Это не влияет на ROC AUC или визуальную форму кривой, но уменьшает количество отображаемых точек.
Добавлено в версии 0.17: параметр drop_intermediate.
- Возвращает:
-
- fprndarray формы (>2,)
-
Массив возрастающих значений доли ложноположительных результатов, в котором элемент
i— это доля ложноположительных предсказаний с оценкой >=thresholds[i]. - tprndarray формы (>2,)
-
Массив возрастающих значений доли истинно положительных результатов, в котором элемент
i— это доля истинно положительных предсказаний с оценкой >=thresholds[i]. - thresholdsndarray формы (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. Введение в анализ ROC[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 ])
Примеры в галерее
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.roc_curve.html