机器学习可视化API使用示例

本教程将向展示如何利用机器学习可视化API快速绘制并调整ROC曲线,而无需重新计算。将通过比较ROC曲线来演示如何使用这个API。首先,需要加载数据并训练一个支持向量分类器(SVC)。

加载数据并训练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 = SVC(random_state=42) svc.fit(X_train, y_train)

在Jupyter环境中,可以重新运行此单元格以显示HTML表示,或者在GitHub上,可以尝试使用nbviewer.org来加载此页面以查看HTML表示。

绘制ROC曲线

接下来,将使用sklearn.metrics.RocCurveDisplay.from_estimator绘制ROC曲线。返回的svc_disp对象允许在未来绘制SVC的ROC曲线时继续使用已经计算过的ROC曲线值。

# 绘制ROC曲线 svc_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test) plt.show()

这样,就得到了SVC的ROC曲线。接下来,将训练一个随机森林分类器,并创建一个与SVC ROC曲线的比较图。

训练随机森林并绘制ROC曲线

训练一个随机森林分类器,并创建一个与SVC ROC曲线的比较图。注意,svc_disp使用plot方法绘制SVC的ROC曲线,而无需重新计算ROC曲线的值。此外,向绘图函数传递alpha=0.8以调整曲线的透明度。

# 训练随机森林分类器 rfc = RandomForestClassifier(n_estimators=10, random_state=42) rfc.fit(X_train, y_train) # 获取当前轴 ax = plt.gca() # 绘制随机森林的ROC曲线 rfc_disp = RocCurveDisplay.from_estimator(rfc, X_test, y_test, ax=ax, alpha=0.8) # 绘制SVC的ROC曲线 svc_disp.plot(ax=ax, alpha=0.8) plt.show()

脚本的总运行时间为:(0分钟 0.146秒)。

以下是一些相关的示例和资源,可以参考这些资源来进一步了解机器学习中的ROC曲线和其他相关概念:

  • 带有交叉验证的接收者操作特征(ROC)
  • 带有交叉验证的检测误差权衡(DET)曲线
  • scikit-learn 0.22版本发布亮点
  • 多类接收者操作特征(ROC)
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485