Примечание
Перейти к концу для скачивания полного примера кода. или для запуска этого примера в вашем браузере через 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)
Построение кривой 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 без повторного вычисления значений самой кривой 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()

Общее время выполнения сценария: (0 минут 0.174 секунды)
Связанные примеры
© 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