私はPythonでXGBoostを使用しており、DMatrix
というデータで呼び出されるXGBoost train()
関数を使用してモデルを正常に訓練しました。行列は、列のフィーチャー名を持つPandasデータフレームから作成されました。XGBoost plot_importanceにフィーチャー名が表示されない
Xtrain, Xval, ytrain, yval = train_test_split(df[feature_names], y, \
test_size=0.2, random_state=42)
dtrain = xgb.DMatrix(Xtrain, label=ytrain)
model = xgb.train(xgb_params, dtrain, num_boost_round=60, \
early_stopping_rounds=50, maximize=False, verbose_eval=10)
fig, ax = plt.subplots(1,1,figsize=(10,10))
xgb.plot_importance(model, max_num_features=5, ax=ax)
私は今xgboost.plot_importance()
機能を使用して機能の重要性を確認したいのですが、結果のプロットは、機能名が表示されません。代わりに、以下に示すように、機能はf1
,f2
,f3
などのようにリストされています。
私はこの問題は、私がDMatrixに私のオリジナルパンダのデータフレームを変換していることだと思います。フィーチャ名を適切に関連付けて、フィーチャ重要度プロットに表示させるにはどうすればよいですか?