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