.. _visualizations: ============== 可视化 ============== Scikit-learn 定义了一个简单的 API,用于为机器学习创建可视化。这个 API 的关键特性是允许快速绘图和视觉调整,而无需重新计算。我们提供了 `Display` 类,这些类公开了两种创建绘图的方法: `from_estimator` 和 `from_predictions` 。 `from_estimator` 方法将接受一个拟合好的估计器和一些数据( `X` 和 `y` ),并创建一个 `Display` 对象。有时,我们只想计算一次预测,这时应该使用 `from_predictions` 。在下面的示例中,我们为拟合的支持向量机绘制 ROC 曲线: .. plot:: :context: close-figs :align: center 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 # 二值化 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) 返回的 `svc_disp` 对象允许我们继续在未来的绘图中使用已经计算好的 SVC 的 ROC 曲线。在这种情况下, `svc_disp` 是一个 :class:`~sklearn.metrics.RocCurveDisplay` ,它将计算的值存储为名为 `roc_auc` 、 `fpr` 和 `tpr` 的属性。请注意,我们可以从支持向量机获取预测,然后使用 `from_predictions` 而不是 `from_estimator` 。接下来,我们训练一个随机森林分类器,并通过使用 `Display` 对象的 `plot` 方法再次绘制先前计算的 ROC 曲线。 .. plot:: :context: close-figs :align: center 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) 请注意,我们将 `alpha=0.8` 传递给绘图函数以调整曲线的 alpha 值。 .. rubric:: 示例 * :ref:`sphx_glr_auto_examples_miscellaneous_plot_roc_curve_visualization_api.py` * :ref:`sphx_glr_auto_examples_miscellaneous_plot_partial_dependence_visualization_api.py` * :ref:`sphx_glr_auto_examples_miscellaneous_plot_display_object_visualization.py` * :ref:`sphx_glr_auto_examples_calibration_plot_compare_calibration.py` 可用的绘图工具 ================ 显示对象 --------- .. currentmodule:: sklearn .. autosummary:: calibration.CalibrationDisplay inspection.PartialDependenceDisplay inspection.DecisionBoundaryDisplay metrics.ConfusionMatrixDisplay metrics.DetCurveDisplay metrics.PrecisionRecallDisplay metrics.PredictionErrorDisplay metrics.RocCurveDisplay model_selection.LearningCurveDisplay model_selection.ValidationCurveDisplay