在python中,如何根据variableI重要性绘制前k个变量?
当我使用xgb.plot_importance
时,它总是绘制在模型中训练的所有变量。
然而,我有3000多个特征,我不想把它们都画出来;我只关心影响最大的100个变量。
我知道我可以从xgb_model.get_score()
中提取变量重要性,它返回一个存储对(特征,重要性)的字典。也许这就是我可以从字典中提取前k个重要变量的方向。
但我不知道如何创建具有相同样式的图片(直方图),如果我根据前k个字典手动绘制的话,xgb.plot_importance
会这样做。
或者,有没有什么方法可以根据xgboost内置API绘制出前k个变量?
发布于 2018-04-27 16:09:51
只需在xgb.plot_importance()
中使用'max_num_features'
参数。
顶部特征(
max_num_features ) (int,缺省为无)-在绘图上显示的顶部特征的最大数目。如果没有,则将显示所有要素。
所以像这样使用它:
xgb.plot_importance(..., ..., ..., max_num_features = 100)
https://stackoverflow.com/questions/50056855
复制相似问题