我正在使用xgboost来构建模型,并试图找到每个功能的重要性get_fscore(),但它会返回{}
我的火车代码是:
dtrain = xgb.DMatrix(X, label=Y)
watchlist = [(dtrain, 'train')]
param = {'max_depth': 6, 'learning_rate': 0.03}
num_round = 200
bst = xgb.train(param, dtrain, num_round, watchlist)
Run Code Online (Sandbox Code Playgroud)
我的火车有没有错?如何在xgboost中获得功能重要性?
在R中,有预先构建的函数来绘制随机森林模型的特征重要性.但是在python中这种方法似乎缺失了.我在搜索一个方法matplotlib.
model.feature_importances 给我以下:
array([ 2.32421835e-03, 7.21472336e-04, 2.70491223e-03,
3.34521084e-03, 4.19443238e-03, 1.50108737e-03,
3.29160540e-03, 4.82320256e-01, 3.14117333e-03])
Run Code Online (Sandbox Code Playgroud)
然后使用以下绘图功能:
>> pyplot.bar(range(len(model.feature_importances_)), model.feature_importances_)
>> pyplot.show()
Run Code Online (Sandbox Code Playgroud)
我得到了一个条形图,但我希望得到带有标签的条形图,同时重要性以有条理的方式水平显示.我也在探索seaborn,但无法找到方法.