特徴量重要度の可視化:このデータセットで最も重要な特徴量はどれですか
XGBoost モデルを可視化するもう一つの方法は、モデル内で元のデータセットの各特徴量列がどれだけ重要かを確認することです。
シンプルな方法としては、モデル内のすべてのブースティングラウンド(ツリー)で各特徴量が分割に使われた回数を数え、その結果を棒グラフで可視化します。棒グラフでは、出現回数が多い順に特徴量を並べます。XGBoost にはこれをそのまま実行できる plot_importance() 関数があり、この演習で実際に使ってみます!
この演習はコースの一部です
XGBoost で学ぶ極限の勾配ブースティング
演習の手順
- これまでと同様に、
XとyからDMatrixを作成します。 "objective"("reg:squarederror")と"max_depth"を4に設定したパラメータ辞書を作成します。- 前の演習と同様に、
10回のブースティングラウンドでモデルを学習させます。 xgb.plot_importance()を使用し、訓練済みモデルを渡して特徴量重要度のグラフを生成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create the DMatrix: housing_dmatrix
housing_dmatrix = ____
# Create the parameter dictionary: params
params = ____
# Train the model: xg_reg
xg_reg = ____
# Plot the feature importances
____
plt.show()