RocCurveDisplay#

класс sklearn.metrics.RocCurveDisplay(*, fpr, tpr, roc_auc=None, имя=None, pos_label=None, estimator_name='устаревший')[источник]#

Визуализация ROC-кривой.

Рекомендуется использовать from_estimator или from_predictions или from_cv_results для создания RocCurveDisplay. Все параметры хранятся как атрибуты.

Для общей информации относительно scikit-learn инструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.

Параметры:
fprndarray или список ndarrays

Частоты ложных срабатываний. Каждый ndarray должен содержать значения для одной кривой. При построении нескольких кривых список должен быть той же длины, что и tpr.

Изменено в версии 1.7: Теперь принимает список для построения нескольких кривых.

tprndarray или список ndarrays

Истинные положительные частоты. Каждый ndarray должен содержать значения для одной кривой. Если строится несколько кривых, список должен быть той же длины, что и fpr.

Изменено в версии 1.7: Теперь принимает список для построения нескольких кривых.

roc_aucfloat или список floats, default=None

Площадь под ROC-кривой, используется для маркировки каждой кривой в легенде. Если строится несколько кривых, должен быть список той же длины, что и fpr и tpr. Если None, оценки ROC AUC не отображаются в легенде.

Изменено в версии 1.7: Теперь принимает список для построения нескольких кривых.

имяstr или list of str, по умолчанию=None

Имя для подписей элементов легенды. Количество элементов легенды определяется curve_kwargs передано в plot, и не подвержен влиянию name. Чтобы пометить каждую кривую, предоставьте список строк. Чтобы избежать маркировки отдельных кривых, имеющих одинаковый внешний вид, список нельзя использовать вместе с curve_kwargs является словарём или None. Если предоставлена строка, она будет использоваться либо для подписи единственной записи легенды, либо, если есть несколько записей легенды, для подписи каждой отдельной кривой тем же именем. Если None, в легенде не отображается имя.

Изменено в версии 1.7: estimator_name был устаревшим в пользу name.

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

Класс, считающийся положительным при вычислении метрик ROC AUC. Если не None, это значение отображается в подписях осей x и y.

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

estimator_namestr, default=None

Имя оценщика. Если None, имя оценщика не отображается.

Устарело с версии 1.7: estimator_name устарел и будет удален в версии 1.9. Используйте name вместо этого.

Атрибуты:
line_художник matplotlib или список художников matplotlib

ROC-кривые.

Изменено в версии 1.7: Этот атрибут теперь может быть списком Artists, когда строятся несколько кривых.

chance_level_художник matplotlib или None

Линия уровня случайности. Это None если уровень случайности не отображён.

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

ax_matplotlib Axes

Оси с ROC-кривой.

figure_фигура matplotlib

Рисунок, содержащий кривую.

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

roc_curve

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

RocCurveDisplay.from_estimator

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

RocCurveDisplay.from_predictions

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

RocCurveDisplay.from_cv_results

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

roc_auc_score

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

Примеры

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> from sklearn import metrics
>>> y_true = np.array([0, 0, 1, 1])
>>> y_score = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score)
>>> roc_auc = metrics.auc(fpr, tpr)
>>> display = metrics.RocCurveDisplay(fpr=fpr, tpr=tpr, roc_auc=roc_auc,
...                                   name='example estimator')
>>> display.plot()
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-1.png
метод класса from_cv_results(cv_results, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, ax=None, имя=None, curve_kwargs=None, plot_chance_level=False, chance_level_kwargs=None, despine=False)[источник]#

Создать отображение ROC-кривой с несколькими сгибами по результатам перекрестной проверки.

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

Параметры:
cv_resultsdict

Словарь, возвращаемый cross_validate используя return_estimator=True и return_indices=True (т.е. словарь должен содержать ключи "estimator" и "indices").

X{array-like, sparse matrix} формы (n_samples, n_features)

Входные значения.

yarray-like формы (n_samples,)

Целевые значения.

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

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

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

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

response_method{'predict_proba', 'decision_function', 'auto'} по умолчанию='auto'

Указывает, использовать ли predict_proba или decision_function как целевой отклик. Если установлено в 'auto', predict_proba сначала пробуется, и если он не существует decision_function пробуется следующим.

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

Класс, рассматриваемый как положительный при вычислении метрик ROC AUC. По умолчанию, estimator.classes_[1] (используя estimator из cv_results) считается положительным классом.

axоси matplotlib, по умолчанию=None

Объект Axes для построения графика. Если None, создаётся новая фигура и оси.

имяstr или list of str, по умолчанию=None

Имя для подписи записей легенды. Количество записей легенды определяется curve_kwargs, и не подвержен влиянию name. Чтобы пометить каждую кривую, предоставьте список строк. Чтобы избежать маркировки отдельных кривых, имеющих одинаковый внешний вид, список нельзя использовать вместе с curve_kwargs является словарём или None. Если предоставлена строка, она будет использоваться либо для подписи единственной записи легенды, либо, если есть несколько записей легенды, для подписи каждой отдельной кривой тем же именем. Если None, в легенде не отображается имя.

curve_kwargsdict или list of dict, по умолчанию=None

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

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

Следует ли отображать уровень случайности.

chance_level_kwargsdict, по умолчанию=None

Аргументы ключевых слов для передачи в plot для отображения линии уровня шанса.

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

Удалять ли верхнюю и правую границы графика.

Возвращает:
отображениеRocCurveDisplay

Многократная кривая ROC.

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

roc_curve

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

RocCurveDisplay.from_estimator

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

RocCurveDisplay.from_predictions

визуализация ROC-кривой с учетом вероятностей оценок классификатора.

roc_auc_score

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

Примеры

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import RocCurveDisplay
>>> from sklearn.model_selection import cross_validate
>>> from sklearn.svm import SVC
>>> X, y = make_classification(random_state=0)
>>> clf = SVC(random_state=0)
>>> cv_results = cross_validate(
...     clf, X, y, cv=3, return_estimator=True, return_indices=True)
>>> RocCurveDisplay.from_cv_results(cv_results, X, y)
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-2.png
метод класса from_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, имя=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[источник]#

Создать отображение ROC-кривой из оценщика.

Для общей информации относительно scikit-learn инструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.

Параметры:
estimatorэкземпляр estimator

Обученный классификатор или обученный Pipeline в котором последний оценщик является классификатором.

X{array-like, sparse matrix} формы (n_samples, n_features)

Входные значения.

yarray-like формы (n_samples,)

Целевые значения.

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

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

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

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

response_method{'predict_proba', 'decision_function', 'auto'} по умолчанию='auto'

Указывает, использовать ли predict_proba или decision_function как целевой отклик. Если установлено в 'auto', predict_proba сначала пробуется, и если он не существует decision_function пробуется следующим.

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

Класс, рассматриваемый как положительный при вычислении ROC AUC. По умолчанию estimators.classes_[1] рассматривается как положительный класс.

имяstr, default=None

Название ROC-кривой для маркировки. Если None, используйте имя оценщика.

axоси matplotlib, по умолчанию=None

Объект Axes для построения графика. Если None, создается новый рисунок и оси.

curve_kwargsdict, по умолчанию=None

Ключевые аргументы для передачи в plot функция.

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

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

Следует ли отображать уровень случайности.

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

chance_level_kwdict, по умолчанию=None

Аргументы ключевых слов для передачи в plot для отображения линии уровня шанса.

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

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

Удалять ли верхнюю и правую границы графика.

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

**kwargsdict

Аргументы ключевых слов для передачи в plot.

Устарело с версии 1.7: kwargs устарел и будет удален в версии 1.9. Передавайте аргументы matplotlib в curve_kwargs в виде словаря.

Возвращает:
отображениеRocCurveDisplay

Отображение ROC-кривой.

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

roc_curve

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

RocCurveDisplay.from_predictions

визуализация ROC-кривой с учетом вероятностей оценок классификатора.

RocCurveDisplay.from_cv_results

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

roc_auc_score

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

Примеры

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import RocCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> RocCurveDisplay.from_estimator(
...    clf, X_test, y_test)
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-3.png
метод класса from_predictions(y_true, y_score=None, *, sample_weight=None, drop_intermediate=True, pos_label=None, имя=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, y_pred='устаревший', **kwargs)[источник]#

Мы можем получить некоторое представление об этих результатах.

Для общей информации относительно scikit-learn инструменты визуализации, см. Руководство по визуализации. Для руководства по интерпретации этих графиков обратитесь к Руководство по оценке модели.

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

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

для расширения текущего примера, оценивающего дисперсию ROC-кривых и их соответствующих AUC.

y_scorearray-like формы (n_samples,)

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

Добавлено в версии 1.7: y_pred был переименован в y_score.

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

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

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

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

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

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

имяstr, default=None

Название кривой ROC для подписи в легенде. Если None, имя будет установлено в "Classifier".

axоси matplotlib, по умолчанию=None

Объект Axes для построения графика. Если None, создаётся новая фигура и оси.

curve_kwargsdict, по умолчанию=None

Ключевые аргументы для передачи в plot функция.

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

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

Следует ли отображать уровень случайности.

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

chance_level_kwdict, по умолчанию=None

Аргументы ключевых слов для передачи в plot для отображения линии уровня шанса.

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

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

Удалять ли верхнюю и правую границы графика.

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

y_predarray-like формы (n_samples,)

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

Устарело с версии 1.7: y_pred устарел и будет удален в версии 1.9. Используйте y_score вместо этого.

**kwargsdict

Дополнительные аргументы-ключевые слова, передаваемые в matplotlib plot функция.

Устарело с версии 1.7: kwargs устарел и будет удален в версии 1.9. Передавайте аргументы matplotlib в curve_kwargs в виде словаря.

Возвращает:
отображениеRocCurveDisplay

Объект, который хранит вычисленные значения.

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

roc_curve

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

RocCurveDisplay.from_estimator

Визуализация ROC-кривой для заданного оценщика и некоторых данных.

RocCurveDisplay.from_cv_results

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

roc_auc_score

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

Примеры

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import RocCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> y_score = clf.decision_function(X_test)
>>> RocCurveDisplay.from_predictions(y_test, y_score)
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-4.png
plot(ax=None, *, имя=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[источник]#

Визуализация графика.

Параметры:
axоси matplotlib, по умолчанию=None

Объект Axes для построения графика. Если None, создаётся новая фигура и оси.

имяstr или list of str, по умолчанию=None

Имя для подписи записей легенды. Количество записей легенды определяется curve_kwargs, и не подвержен влиянию name. Чтобы пометить каждую кривую, предоставьте список строк. Чтобы избежать маркировки отдельных кривых, имеющих одинаковый внешний вид, список нельзя использовать вместе с curve_kwargs является словарём или None. Если предоставлена строка, она будет использоваться либо для подписи единственной записи легенды, либо, если есть несколько записей легенды, для подписи каждой отдельной кривой тем же именем. Если None, установлено в name предоставлено в RocCurveDisplay инициализация. Если всё ещё None, в легенде не отображается имя.

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

curve_kwargsdict или list of dict, по умолчанию=None

Ключевые аргументы для передачи в plot функция для построения отдельных ROC-кривых. Для построения одной кривой должен быть словарь. Для построения нескольких кривых, если предоставлен список, параметры применяются к ROC-кривым каждого фолда CV последовательно, и для каждой кривой добавляется запись в легенду. Если предоставлен один словарь, те же параметры применяются ко всем ROC-кривым, и добавляется одна запись в легенду для всех кривых, помеченная средним значением ROC AUC.

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

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

Следует ли отображать уровень случайности.

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

chance_level_kwdict, по умолчанию=None

Аргументы ключевых слов для передачи в plot для отображения линии уровня шанса.

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

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

Удалять ли верхнюю и правую границы графика.

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

**kwargsdict

Аргументы ключевых слов для передачи в plot.

Устарело с версии 1.7: kwargs устарел и будет удален в версии 1.9. Передавайте аргументы matplotlib в curve_kwargs в виде словаря.

Возвращает:
отображениеRocCurveDisplay

Объект, который хранит вычисленные значения.