如果用xgboost模型,那么还需要先做feature selection吗?

  统计/机器学习 监督式学习 特征选择    浏览次数:8026        分享
0

如果用xgboost模型,那么还需要先做feature selection吗?

还是说不管三七二十一直接把完整的数据一起扔到xgboost里训练?

 

zzzz   2018-09-10 07:27



   3个回答 
4

当然是需要的。

逆向思维一下,如果你加一堆不相关的变量到你的数据集里,然后再训练一次模型,你觉得模型的精度是下降的可能性大还是提高的可能性大?

SofaSofa数据科学社区DS面试题库 DS面经

MangoCoke   2018-09-10 11:25

3

一般来说,xgboost(包括random forests)对冗余的变量是不敏感的。

但是正如MangoCoke说的,“垃圾”变量肯定是对模型有负面影响的。

另外一方面,xgboost或者说每棵树在选择分叉点的时候,都是以贪婪的方式选择局部最优,所以有些特征可能在局部不错,但是从整体上看降低了模型整体的精度。

再有就是不相关或者重复的变量会影响最终的feature importance。

SofaSofa数据科学社区DS面试题库 DS面经

abuu   2018-09-17 14:53

2

多余的变量对xgboost或者gbdt都是有影响的,所以做特征选择肯定是有帮助的。

另外可以参考一下:对于xgboost,还有必要做很多特征工程吗?

SofaSofa数据科学社区DS面试题库 DS面经

sasa   2018-09-21 08:21



  相关讨论

在random forest和xgboost这类集成树模型中是如何计算_feature_importance的

Tree Shap value for xgboost

怎么利用permutation importance来解释xgboost模型的特征?

XGBoost中get_score中的cover是什么意思

对于xgboost,还有必要做很多特征工程吗?

xgboost里的每棵树是不是等权重的?

stack多个xgboost效果并不理想

GBDT和XGBoost使用的都是回归树,原理上是怎么支持解决分类问题的?

为什么lightgbm比xgb快?

到底什么时候用lightgbm什么时候用xgb

  随便看看

python pandas里有没有类似R的summary的函数?

95%置信区间的正确理解

lightgbm.LGBMModel和lightgbm.LGBMClassifier该用哪个?

如何理解VC dimension?

二元分类为什么不能用MSE做为损失函数?