原文:
www.kdnuggets.com/2017/04/must-know-fewer-predictors-machine-learning-models.html
编辑注: 本文最初作为对我们 17 个必知的数据科学面试问题与答案系列中一个问题的回答而发布。由于回答内容足够详尽,因此决定将其独立成文。
以下是为什么使用较少的预测变量可能比使用更多预测变量更好的几个原因:
1. Google 网络安全证书 - 快速进入网络安全职业
2. Google 数据分析专业证书 - 提升您的数据分析技能
3. Google IT 支持专业证书 - 支持您的组织的 IT
冗余/无关性:
如果你处理的预测变量很多,那么很可能它们之间存在隐藏的关系,从而导致冗余。除非你在数据分析的早期阶段识别并处理这些冗余(通过仅选择非冗余的预测变量),否则这可能会对你后续的步骤造成很大阻碍。
同样,也有可能并不是所有的预测变量对因变量有显著影响。你应该确保你选择的预测变量集合中没有任何无关的变量——即使你知道数据模型会通过赋予它们较低的重要性来处理它们。
注意:冗余和无关性是两个不同的概念——一个相关的特征可能由于存在其他相关特征而变得冗余。
过拟合:
即使你有大量的预测变量,且它们之间没有任何关系,通常还是建议使用较少的预测变量。具有大量预测变量的数据模型(也称为复杂模型)常常会遇到过拟合的问题,在这种情况下,数据模型在训练数据上表现很好,但在测试数据上表现较差。
生产力:
假设你有一个项目,其中有大量的预测变量,并且所有这些变量都是相关的(即对因变量有可测量的影响)。因此,你显然希望使用所有变量,以获得一个成功率非常高的数据模型。尽管这种方法听起来非常诱人,但实际考虑因素(如可用数据量、存储和计算资源、完成所需时间等)使得这种方法几乎不可能实现。
因此,即使你有大量相关的预测变量,使用较少的预测变量(通过特征选择筛选或通过特征提取开发)也是一个好主意。这本质上类似于帕累托原则,即许多事件中,大约 80%的效果来自 20%的原因。
专注于这 20%最重要的预测变量,将大大有助于在合理时间内建立成功率可观的数据模型,而不需要大量不切实际的数据或其他资源。
训练误差与测试误差对模型复杂度的关系(来源:Quora由Sergul Aydore发布)
可理解性:
具有较少预测变量的模型更容易理解和解释。由于数据科学步骤将由人类执行,结果也将由人类展示(并希望被使用),因此考虑到人脑的全面能力非常重要。这实际上是一种权衡——你放弃了一些可能带来数据模型成功率的潜在好处,同时使你的数据模型更易于理解和优化。
如果在项目结束时你需要向某人展示结果,而他们不仅对高成功率感兴趣,还希望了解“幕后”的情况,这个因素就尤为重要。
相关:
-
17 个必须了解的数据科学面试问题及答案
-
接近(几乎)任何机器学习问题
-
识别可能更好预测的变量