Feature Importance#

See also

本節は、TabularPredictor.feature_importance をベースにしている。

Note

Feature Importance は、export_feature_importance オプションを指定した時にテーブルとして出力される。

Feature Importance は、permutation importance を用いて計算される。permutation importance とは、「ある特徴量がどれだけモデルの予測精度向上に寄与しているのか」を評価する手法であり、そのためにその特徴量をランダムに並べ替えた時の、予測精度への影響(どれだけ性能低下するか)を計算する。Feature Importance のスコアが 0.01 であれば、その特徴量がランダムにシャッフルされたときに予測性能が 0.01 低下したことを示す。Feature Importance のスコアが高ければ高いほど、その特徴量はモデルのパフォーマンスにとってより重要であることを示す。

ある Feature Importance が負のスコアを持つ場合、その特徴は最終的なモデルにとって有害である可能性が高いことを意味し、その特徴を除去して訓練したモデルの方がより良い予測性能を達成することが期待される。

Note

特徴量の重要度を計算するのは、特にモデルが数百、数千の特徴量を使用する場合、非常に計算コストのかかるプロセスであることに注意。多くの場合、 Feature Importance の計算過程は元のモデルのトレーニングよりも時間がかかる。

Feature Importance Table の解説#

index

importance

stddev

p_value

n

p99_high

p99_low

temperature

1.092264446

0.01408478844

2.77E-05

3

1.172971846

1.011557046

tocoupon_geq15min

0.7782094564

0.01481422481

6.04E-05

3

0.8630966074

0.6933223055

time_hour

0.6932984171

0.01219396389

5.16E-05

3

0.7631711825

0.6234256518

expiration

0.6192626403

0.009638408032

4.04E-05

3

0.6744917871

0.5640334934

destination

0.597639609

0.01018219804

4.84E-05

3

0.655984733

0.5392944851

index#

特徴量の名前。

importance#

Feature Importance スコア。

stddev#

Feature Importance スコアの標準偏差。もし NaN であるなら分散を計算するのに十分な num_shuffle_sets が使われていないことになる。

p_value#

  • 帰無仮説: importance = 0

  • 対立仮説: importance > 0

の仮説における t検定(片側検定)の P値。P値が有意水準(0.05)より小さければ「設定した仮説のもとで観察された事象が起こることは非常にまれなこと」と言える。これは、この特徴量の importance を無視できないということになる。