我是XGBoost的新手,目前正在做一个项目,在这个项目中我们已经构建了一个XGBoost分类器。现在我们想运行一些特征选择技术。对于这一点,反向消除方法是一个好主意吗?我在回归中使用过它,但我不确定是否/如何在分类问题中使用它。任何线索都将非常感谢。
注意:我已经尝试过排列线重要性,并取得了很好的效果!寻找另一种方法来评估模型中的特征。
发布于 2019-10-04 00:10:05
考虑在交叉验证上问你的问题,因为功能选择更多的是理论/实践而不是代码。
你担心的是什么?去掉那些会降低你的结果的“嘈杂”特征,获得一个稀疏模型?当然,向后选择是一种方法。也就是说,不知道你是否知道这一点,但是XGBoost会计算它自己的“变量重要性”值。
# plot feature importance using built-in function
from xgboost import XGBClassifier
from xgboost import plot_importance
from matplotlib import pyplot
model = XGBClassifier()
model.fit(X, y)
# plot feature importance
plot_importance(model)
pyplot.show()就像这样。这一重要性取决于使用特征进行分割的次数。然后,您可以定义一个阈值,例如,您不能将变量保持在该阈值以下。但是,请不要忘记:
https://stackoverflow.com/questions/58222727
复制相似问题