5. Визуализация

Scikit-learn определяет простой API для создания визуализаций для машинного обучения. Ключевой особенностью этого API является возможность быстрого построения графиков и визуальных корректировок без пересчета. Мы предоставляем классы Display, которые открывают два метода для создания графиков: from_estimator и from_predictions. Метод from_estimator берет обученную модель и некоторые данные (X и y) и создает объект Display. Иногда мы хотим вычислить предсказания только один раз, и вместо этого следует использовать from_predictions. В следующем примере мы строим график ROC-кривой для обучения методом опорных векторов:

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

X, y = load_wine(return_X_y=True)
y = y == 2  # make binary
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_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test)
_images/visualizations-1.png

Возвращаемый объект svc_disp позволяет нам продолжать использовать уже вычисленную ROC-кривую для SVC в будущих графиках. В данном случае svc_disp представляет собой :class:`~sklearn.metrics.RocCurveDisplay, который хранит вычисленные значения в виде атрибутов roc_auc, fpr и tpr. Имейте в виду, что мы можем получить предсказания от метода опорных векторов и затем использовать from_predictions вместо from_estimator. Далее мы обучаем классификатор случайного леса и снова строим график ранее вычисленной кривой roc с помощью метода plot объекта Display.

import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier

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)
_images/visualizations-2.png

Обратите внимание, что мы передаем функции plot значение alpha=0.8, чтобы настроить альфа-значения кривых.

5.1. Доступные утилиты построения графиков

5.1.1. Объекты отображения

calibration.CalibrationDisplay(prob_true, ...)

Calibration curve (also known as reliability diagram) visualization.

inspection.PartialDependenceDisplay(...[, ...])

Partial Dependence Plot (PDP).

inspection.DecisionBoundaryDisplay(*, xx0, ...)

Decisions boundary visualization.

metrics.ConfusionMatrixDisplay(...[, ...])

Confusion Matrix visualization.

metrics.DetCurveDisplay(*, fpr, fnr[, ...])

DET curve visualization.

metrics.PrecisionRecallDisplay(precision, ...)

Precision Recall visualization.

metrics.PredictionErrorDisplay(*, y_true, y_pred)

Visualization of the prediction error of a regression model.

metrics.RocCurveDisplay(*, fpr, tpr[, ...])

ROC Curve visualization.

model_selection.LearningCurveDisplay(*, ...)

Learning Curve visualization.

model_selection.ValidationCurveDisplay(*, ...)

Validation Curve visualization.