原文towardsdatascience.com/the-dummy-models-of-scikit-learn-3001f54c48e9Dummy 模型设置非常简单同时还能提供检查机器学习模型性能的深刻见解。在这篇文章中我想解释 dummy 模型是什么以及如何在 scikit-learn 中使用它们。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2fc274af16d9ecb63f40f90edfcc8a80.png由Nicolas Thomas在Unsplash上的照片如果您喜欢或想用 scikit-learn 学习机器学习请查看我关于这个神奇包的教程系列Sklearn 教程所有图片均为作者所有。什么是 dummy 模型Dummy 模型是非常简单的模型旨在用作基准来比较您的实际模型。基准只是某种参考点以便进行比较。当您计算第一次交叉验证结果以估计模型性能时您通常知道得分越高越好如果第一次尝试得分相当高那很好。但这种情况并不常见。如果第一个准确度得分相当低——或者低于您想要的或预期的呢这是否是因为数据是否是因为您的模型两者都是吗我们如何快速知道我们的模型是否调得不好Dummy 模型旨在回答这些问题。它们的复杂性和“智能”非常低想法是您可以与它们比较看看您比“最愚蠢”的模型好多少。请注意它们并不是故意预测愚蠢的值它们只是做出最简单、非常简单的智能猜测。如果您的模型比 dummy 模型表现更差您应该调整或完全更改您的模型。一个简单的 dummy 回归器示例是始终预测训练目标的平均值无论输入如何这并不理想但平均来说它给出一个合理的简单猜测。如果您的实际模型比这个非常非常简单的方案表现更差您可能需要审查您的模型。Scikit-learn 中的 Dummy 模型scikit-learn 的 dummy 模型包相当简单它只包含 2 个类一个DummyClassifier一个DummyRegressorhttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/28324a79485d7febd8edd99685c0f7ff.pngscikit-learn 中 dummy 模块的 API 文档相当简单。这些是暴露 scikit-learn 中estimator API的类它们是实际模型可以使用.fit方法从训练集中学习并使用.predict方法根据新的输入预测目标。换句话说它们的工作方式与您使用 Pipeline 创建的典型模型一样例如。注意正如我们将在下面更详细地看到的那样这两个虚拟估计器都接受一个strategy参数。这个策略允许创建不同的虚拟模型变体例如使用mean策略的虚拟回归器总是预测训练目标的平均值或者允许我们指定模型应该始终预测的特定常量。换句话说sklearn 提供了多个虚拟回归器和多个虚拟分类器模型。**对于大多数策略虚拟估计器在训练时只使用 y 目标值并且在预测时永远不会使用 X 测试集。**我们将在下面看到这一点。虚拟回归器DummyRegressor 类可以使用 4 种不同的策略进行实例化这些策略的名称相当直观。对于任何新的样本 x_i这个虚拟模型简单地返回它在训练期间学习到的值并且完全忽略样本的内容mean: 总是返回训练目标的平均值median: 总是返回训练目标的中位数quantile: 总是返回训练目标的指定分位数constant: 总是返回一个指定的常量值https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/bb4b4b0a6d0f3cf78681ba77d3f95686.pngDummyRegressor 策略的预测方法。让我们专注于一个使用mean策略的例子。