我们在构建树类模型(XGBoost、LightGBM等)时,如果想要知道哪些变量比较重要的话。可以通过模型的feature_importances_方法来获取特征重要性。例如LightGBM的feature_importances_可以通过特征的分裂次数或利用该特征分裂后的增益来衡量。一般情况下,不同的衡量准则得到的特征重要性顺序会有差异。我一般是通过多种评价标准来交叉选择特征。博主认为,若一个特征在不同的评价标准下都是比较重要的,那么该特征对label有较好的预测能力。
为大家介绍一种评价特征重要性的方法:PermutationImportance。文档对该方法介绍如下:eli5 provides a way to compute feature importances for any black-box estimator by measuring how score decreases when a feature is not available; the method is also known as “permutation importance” or “Mean Decrease Accuracy (MDA)”.我的理解是:若将一个特征置为随机数,模型效果下降很多,说明该特征比较重要;反之则不是。
下面为大家举一个简单的例子,我们利用不同模型来挑选变量(RF、LightGBM、LR)。并挑选出来重要性排在前30的变量(总变量200+)进行建模。
import eli5
from eli5.sklearn import PermutationImportance
from sklearn.feature_selection impor

本文探讨了在树类模型如XGBoost、LightGBM中使用PermutationImportance来评估特征重要性。PermutationImportance通过观察特征缺失时模型性能的下降来确定特征的重要性。作者通过对比不同模型(如RF、LightGBM、LR)选择的前30重要特征,发现LightGBM选出的特征构建的模型在泛化性上表现更优。这种方法有助于提升模型预测能力。
最低0.47元/天 解锁文章
1996

被折叠的 条评论
为什么被折叠?



