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 ])
Примеры галереи#
Многоклассовая рабочая характеристика приемника (ROC)