Spec-Zone.ru › scikit-learn

Примечание

Перейти к концу для скачивания полного примера кода. или для запуска этого примера в вашем браузере через JupyterLite или Binder

Кривая ROC с API визуализации

Scikit-learn определяет простой API для создания визуализаций для машинного обучения. Ключевые особенности этого API — это быстрый вывод графиков и визуальные корректировки без перерасчёта. В этом примере мы продемонстрируем использование API визуализации путём сравнения кривых ROC.

# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause

Загрузка данных и обучение SVC

Сначала мы загружаем набор данных о винах и преобразуем его в задачу бинарной классификации. Затем мы обучаем классификатор опорных векторов на наборе обучающих данных.

import matplotlib.pyplot as plt

from sklearn.datasets import load_wine
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import RocCurveDisplay
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

X, y = load_wine(return_X_y=True)
y = y == 2

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
svc = SVC(random_state=42)
svc.fit(X_train, y_train)
SVC(random_state=42)
В среде Jupyter, пожалуйста, перезапустите эту ячейку, чтобы отобразить HTML-представление, или доверьтесь блокноту.
На GitHub HTML-представление не может быть отображено, пожалуйста, попробуйте загрузить эту страницу с nbviewer.org.
SVC(random_state=42)


Построение кривой ROC

Далее мы строим кривую ROC с помощью одного вызова sklearn.metrics.RocCurveDisplay.from_estimator. Возвращаемый svc_disp объект позволяет нам продолжить использование уже вычисленной кривой ROC для SVC в будущих графиках.

svc_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test)
plt.show()
plot roc curve visualization api

Обучение случайного леса и построение кривой ROC

Мы обучаем классификатор случайного леса и создаём график, сравнивающий его с кривой ROC SVC. Обратите внимание, как svc_disp использует plot для построения кривой ROC SVC без повторного вычисления значений самой кривой ROC. Кроме того, мы передаём alpha=0.8 в функции построения графиков для корректировки значений alpha кривых.

rfc = RandomForestClassifier(n_estimators=10, random_state=42)
rfc.fit(X_train, y_train)
ax = plt.gca()
rfc_disp = RocCurveDisplay.from_estimator(rfc, X_test, y_test, ax=ax, alpha=0.8)
svc_disp.plot(ax=ax, alpha=0.8)
plt.show()
plot roc curve visualization api

Общее время выполнения сценария: (0 минут 0.174 секунды)

Launch binder
Launch JupyterLite

Download Jupyter notebook: plot_roc_curve_visualization_api.ipynb

Download Python source code: plot_roc_curve_visualization_api.py

Download zipped: plot_roc_curve_visualization_api.zip

Связанные примеры

Кривая ROC (ROC) с перекрестной проверкой

Кривая Торговли Ошибками Обнаружения (DET)

Основные моменты выпуска для scikit-learn 0.22

Многоклассовая кривая ROC

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/auto_examples/miscellaneous/plot_roc_curve_visualization_api.html

Spec-Zone.ru

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