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

时间:2015-03-11 09:49:56

标签: machine-learning statistics classification random-forest treemodel

我已经训练了一个用于预测CTR的gbdt模型,最初我使用了40个功能,然后我添加了一些功能,但结果(auc)低于原始功能。 这怎么可能发生? 2.如何确定哪个特征对模型有利?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

在sklearn库(Python)的this教程中可以看到一个很好的例子。另外,我强烈建议您在Coursera中查看Andrew Ng的机器学习课程中的lecture about Learning Curves