LightGBMでモデル構築:特徴量の重要度を可視化する | 您所在的位置:网站首页 › lgb红酒 › LightGBMでモデル構築:特徴量の重要度を可視化する |
スポンサーリンク この記事はこんな方におススメです Pythonを始めたばかりで基本から学びたい方 Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方 ▶ 初学者向けにデータ分析に関する記事を書いています Pythonでデータ分析をするための基礎知識を学ぶステップPython初心者の方向けに、データ分析の基礎知識を身につけるための学習ステップをご紹介します。最初は細部にこだわらず、概要を把握したら実際にデータを扱ってみるのがよいです。とにかく実際のデータに触れるために、大前提となる最低限の知識を身につけるのが一番です。happy-analysis.com2023.07.01 はじめにLightGBMではモデルに使った特徴量の重要度を簡単に確認することができます。この重要度は、「各特徴量(各変数)がモデルの精度にどれだけ影響を与えたか」を表します。初期値のまま使うと、決定木の分岐を使用した数になります。 前回、Titanicデータで作成したモデルの特徴量の重要度を見ることにしましょう。Titanicデータを使ったモデル構築については以下の記事をご覧ください。今回は↓で作成したモデル「clf」から特徴量の重要度を確認していきます。 LightGBMでモデル構築:カテゴリ変数を特徴量に加えるこれまでTitanicのデータセットを使ってLightGBMでのモデル構築をしてきました。はじめは「Pclass」「Fare」を数値データとして扱い、この2つの特徴量のみでモデル構築をしていました。今回はLightGBMでカテゴリ変数を扱う方法を解説します。happy-analysis.com2022.09.02 特徴量の重要度特徴量の重要度は学習済みモデルから簡単に取得することができます。LightGBMの場合は、各特徴量の数値を取得できるだけでなく、描画する関数も用意されています。順にみていきましょう。 各特徴量の重要度を数字で確認する特徴量の重要度は学習済みモデルから簡単に取り出せます。まず、書式を確認しておきましょう。 model.feature_importances_ たったこれだけです。簡単ですね。やってみましょう。 clf.feature_importances_ 特徴量の重要度このように「重要度」の数値を簡単に取得することができますが、どの特徴量の重要度なのかがわかりにくいですね。そのため、通常は次のように扱います。 # 特徴量の重要度の算出 pd.Series(clf.feature_importances_,index=X_train.columns) 各特徴量の重要度各特徴量と重要度の値が対応しているのでわかりやすいですね。あるいは次のようにデータフレームにして扱うことも多いので、覚えておきましょう。 # 特徴量の重要度の算出(データフレーム) pd.Series(clf.feature_importances_,index=X_train.columns).to_frame(name='重要度') 特徴量の重要度の算出(データフレーム) 各特徴量の重要度を可視化する次に可視化する方法も確認しておきましょう。こちらもたった1行のコードです。 lgb.plot_importance(model) 早速やってみましょう。 # 特徴量の重要度を棒グラフで可視化 lgb.plot_importance(clf) 特徴量の重要度:棒グラフで可視化これは便利ですね。グラフ周りの設定を特にしなくても、このように表示してくれます。特徴量が多すぎる場合には、max_num_featuresで数を指定することもできます。 # 特徴量の重要度を棒グラフで可視化:表示件数を指定 lgb.plot_importance(clf, max_num_features=4) # 特徴量の重要度を棒グラフで可視化:表示件数を指定 スポンサーリンク まとめ今回はLightGBMではモデルに使った特徴量の重要度を確認する方法を扱いました。可視化すると視覚的に捉えることができるし、数値も同時に確認できるので便利ですね。 |
CopyRight 2018-2019 实验室设备网 版权所有 |