在SciKit-Learn中安装GradientBoostingClassifier后,某些功能的重要性为零。
我的理解是,重要性为零将意味着对该功能不做任何分割。
如果我尝试使用不包含该功能的数据集进行预测,则会由于没有所有功能而引发错误。
我当然知道我可以删除零重要性功能,但我宁愿不更改已经适合的模型。 (如果删除零重要性功能并进行改装,我会得到一个略有不同的模型。)
这是模型需要零重要性功能进行预测的错误吗?还是我没有考虑过零重要性功能?是否有解决方法以获得完全相同的模型?
(我正在预见一个问题,为什么这很重要-这是因为要求零重要性功能意味着从一个非常大的数据库中提取更多列,并且看起来松散地在模型中包含了一项不起作用的功能。)>
答案 0 :(得分:0)
这不是错误,是预期的行为。在对模型进行了培训之后,Scikit不会做出关于应该包含或不包含哪些功能的假设。
相反,当您为模型调用fit
时,会隐式假定您已经执行了特征选择,以删除对模型不重要的特征。拟合后,无论功能是否重要,您都将提供与拟合模型相同大小的数据集。