始める無料で始める

特徴量重要度の可視化:このデータセットで最も重要な特徴量はどれですか

XGBoost モデルを可視化するもう一つの方法は、モデル内で元のデータセットの各特徴量列がどれだけ重要かを確認することです。

シンプルな方法としては、モデル内のすべてのブースティングラウンド(ツリー)で各特徴量が分割に使われた回数を数え、その結果を棒グラフで可視化します。棒グラフでは、出現回数が多い順に特徴量を並べます。XGBoost にはこれをそのまま実行できる plot_importance() 関数があり、この演習で実際に使ってみます!

この演習はコースの一部です

XGBoost で学ぶ極限の勾配ブースティング

コースを見る

演習の手順

  • これまでと同様に、Xy から 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()
コードを編集して実行