添加功能肯定会使模型更好吗?



我已经训练了一个用于预测点击率的GBDT模型,最初使用40个特征。然后我添加了一些功能,但 AUC 低于原始功能。

  1. 怎么会这样?

  2. 如何确定哪个功能适合模型?

如果添加更多功能会降低性能,这可能是因为过度拟合。需要调整模型学习参数,以避免模型过于复杂(过度拟合)。

在随机森林的情况下,树深度就是这样一个参数。不应该让树木长得太深,否则它们可能会过度拟合(即使有很多树,这也可能发生在随机森林中)。

我同意添加更多功能产生更差结果的最可能原因是过度拟合,主要解决方案是功能选择。

现在,有不同的技术来验证和衡量这种直觉。最好的工具之一是为给定的训练和验证子集生成模型的学习曲线。

一个很好的例子可以在 sklearn 库 (Python) 的本教程中看到。另外,我强烈建议您查看Andrew Ng在Coursera中关于机器学习课程中学习曲线的讲座。

相关内容

  • 没有找到相关文章

最新更新