Примечание
Перейти в конец, чтобы скачать полный код примера или запустить этот пример в браузере с помощью JupyterLite или Binder.
ROC-кривая с API визуализации
Scikit-learn предоставляет простой API для создания визуализаций в машинном обучении. Ключевые возможности этого API позволяют быстро строить графики и изменять их внешний вид без повторных вычислений. В этом примере мы покажем, как использовать API визуализации, сравнив ROC-кривые.
# Authors: The scikit-learn developers # SPDX-License-Identifier: BSD-3-Clause
Загрузка данных и обучение SVC
Сначала загрузим набор данных Wine и преобразуем его в задачу бинарной классификации. Затем обучим классификатор опорных векторов на обучающем наборе данных.
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)
Построение ROC-кривой
Затем построим ROC-кривую одним вызовом sklearn.metrics.RocCurveDisplay.from_estimator. Возвращённый объект svc_disp позволяет использовать уже вычисленную ROC-кривую для SVC в последующих графиках.
svc_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test) plt.show()

Обучение случайного леса и построение ROC-кривой
Обучим классификатор на основе случайного леса и построим график, сравнивающий его с ROC-кривой SVC. Обратите внимание, что svc_disp использует plot, чтобы построить ROC-кривую SVC без повторного вычисления её значений. Кроме того, передадим 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, curve_kwargs=dict(alpha=0.8)
)
svc_disp.plot(ax=ax, curve_kwargs=dict(alpha=0.8))
plt.show()

Общее время выполнения скрипта: (0 минут 0.152 секунды)
Связанные примеры
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/auto_examples/miscellaneous/plot_roc_curve_visualization_api.html