我已经训练了一个用于预测点击率的GBDT模型,最初使用40个特征。然后我添加了一些功能,但 AUC 低于原始功能。
-
怎么会这样?
-
如何确定哪个功能适合模型?
如果添加更多功能会降低性能,这可能是因为过度拟合。需要调整模型学习参数,以避免模型过于复杂(过度拟合)。
在随机森林的情况下,树深度就是这样一个参数。不应该让树木长得太深,否则它们可能会过度拟合(即使有很多树,这也可能发生在随机森林中)。
我同意添加更多功能产生更差结果的最可能原因是过度拟合,主要解决方案是功能选择。
现在,有不同的技术来验证和衡量这种直觉。最好的工具之一是为给定的训练和验证子集生成模型的学习曲线。
一个很好的例子可以在 sklearn 库 (Python) 的本教程中看到。另外,我强烈建议您查看Andrew Ng在Coursera中关于机器学习课程中学习曲线的讲座。