我们可以通过'权重'获得特征重要性:
model.feature_importances_
但这不是我想要的。我希望通过信息获得重要性。
我们可以通过'获得'图获得特征重要性:
xgboost.plot_importance(model, importance_type='gain')
但是,我不知道如何从上面的图中获取特征重要性数据。或者
如果有像model.feature_importances_
这样的函数来赋予增益特征重要性吗?这两种方式中的任何一种都可行。如果问题不明确,请在评论中告诉我
答案 0 :(得分:6)
您可以从
获取model.booster().get_score(importance_type='gain')
http://xgboost.readthedocs.io/en/latest/python/python_api.html
答案 1 :(得分:0)
实际上,我对你的问题有点不清楚,但我仍然试着回答这个问题。
我猜你需要像功能选择这样的东西。如果我是对的,那么你可以查看sklearn.feature_selection。
以下是网址: http://scikit-learn.org/stable/modules/feature_selection.html
有许多重要的功能,如chi2,SelectKBest,mutual_info_classif,f_regression,mutual_info_regression等。
答案 2 :(得分:0)
在当前版本的Xgboost中,重要性的默认类型为gain
,请参见docs中的importance_type
。
还可以使用permutation_importance
包中的scikit-learn
或SHAP
值来计算功能重要性。您可以在我的this blog post中的Xgboost中阅读有关计算功能重要性的其他方法的详细信息。