Yellowbrick使用笔记8-模型选择可视化

2023-02-24 00:00:00 数据 模型 可视化 特征 交叉

Yellowbrick可视化工具旨在指导模型选择过程。一般来说,模型选择是一个搜索问题,定义如下:给定N个由数值属性描述的实例和(可选)一个估计目标,找到一个由特征、算法和适合数据的超参数组成的三元组描述的模型。在大多数情况下,“佳”三元组是指收到模型类型的佳交叉验证分数的三元组。

代码下载

Yellowbrick.model_select包提供了可视化工具,用于检查交叉验证和超参数调优的性能。
许多可视化工具包装sklearn.model_select和其他工具中的功能,用于执行多模型比较。

当前实现的模型选择可视化器如下:

  • 验证曲线:可视化超参数的调整如何影响训练和测试分数,以调整偏差/方差。
  • 学习曲线:显示训练数据的大小如何影响模型,以诊断模型是否受方差误差和偏差误差的影响更大。
  • 交叉验证分数:将交叉验证的分数显示为条形图,平均值作为水平线。
  • 特征重要性:按模型中的相对重要性对特征进行排名
  • 递归特征消除:按重要性选择特征子集

模型选择大量使用交叉验证来评估估计器的性能。交叉验证将数据集分为训练数据集和测试数据集;该模型适合训练数据,并根据测试数据进行评估。这有助于避免常见的陷阱,过度拟合,因为模型只会记住训练数据,而不能很好地推广到新的或未知的输入中。

有很多方法可以定义如何拆分数据集以进行交叉验证。有关scikit-learn如何实现这些机制的更多信息,请查阅scikit-learn文档中的交叉验证:评估估计器性能。

本文如果数据集下载不下来,查看下面地址,然后放入yellowbrick安装目录\datasets\fixtures文件夹:

{
"bikeshare": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/bikeshare.zip",
"signature": "4ed07a929ccbe0171309129e6adda1c4390190385dd6001ba9eecc795a21eef2"
},
"hobbies": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/hobbies.zip",
"signature": "6114e32f46baddf049a18fb05bad3efa98f4e6a0fe87066c94071541cb1e906f"
},
"concrete": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/concrete.zip",
"signature": "5807af2f04e14e407f61e66a4f3daf910361a99bb5052809096b47d3cccdfc0a"
},
"credit": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/credit.zip",
"signature": "2c6f5821c4039d70e901cc079d1404f6f49c3d6815871231c40348a69ae26573"
},
"energy": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/energy.zip",
"signature": "174eca3cd81e888fc416c006de77dbe5f89d643b20319902a0362e2f1972a34e"
},
"game": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/game.zip",
"signature": "ce799d1c55fcf1985a02def4d85672ac86c022f8f7afefbe42b20364fba47d7a"
},
"mushroom": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/mushroom.zip",
"signature": "f79fdbc33b012dabd06a8f3cb3007d244b6aab22d41358b9aeda74417c91f300"
},
"occupancy": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/occupancy.zip",
"signature": "0b390387584586a05f45c7da610fdaaf8922c5954834f323ae349137394e6253"
},
"spam": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/spam.zip",
"signature": "000309ac2b61090a3001de3e262a5f5319708bb42791c62d15a08a2f9f7cb30a"
},
"walking": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/walking.zip",
"signature": "7a36615978bc3bb74a2e9d5de216815621bd37f6a42c65d3fc28b242b4d6e040"
},
"nfl": {
"url": "https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/nfl.zip",
"signature": "4989c66818ea18217ee0fe3a59932b963bd65869928c14075a5c50366cb81e1f"
}
}

文章目录

  • 1 验证曲线
    • 1.1 基础使用
    • 1.2 快速方法
  • 2 学习曲线
    • 2.1 分类
    • 2.2 回归
    • 2.3 聚类
    • 2.4 快速方法
  • 3 交叉验证分数
    • 3.1 交叉验证介绍
    • 3.2 分类
    • 3.3 回归
    • 3.4 快速方法
  • 4 特征重要性
    • 4.1 基本使用
    • 4.2 堆叠重要性特征
    • 4.3 快速方法
  • 5 递归特征消除
    • 5.1 基础使用
    • 5.2 快速方法
  • 6 参考

相关文章