关于xgboost中feature_importances_和xgb.plot_importance不匹配的问题。

model.feature_importances_是和原训练集中的列名相对应的!!!

我一直从直觉上就这么觉得,因为如果不对应的话,那要怎么排列呢?

1. model.feature_importances

im=pd.DataFrame({'importance':model.feature_importances_,'var':data4.columns[:-1]})
im=im.sort_values(by='importance',ascending=False)
im.head(10)

显然,这里最重要的变量是ATR14。但是

2. xgb.plot_importance

xgb.plot_importance(model,max_num_features=10)

显然结果不大一样。

这是因为model.feature_importances_的重要性排名默认使用gain,而xgb.plot_importance默认使用weight。

改一下就一样啦

xgb.plot_importance(model,max_num_features=10,importance_type='gain')

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值