Permutation Importance を理解する
Permutation Importance は、モデルの全体的な予測に対して特徴量がどの程度重要であるかを測定します。つまり、その特徴量から学習能力を削除した場合に、モデルがどのような影響を受けるかということです。その指標を使用して、含める特徴量とアルゴリズムを変更することで、モデルを改良できます。
Permutation Importance は、scikit-learn の Permutation Importance を使用して計算されます。Permutation Importance は、特徴量を並べ替えた後のモデル スコアの減少を測定します。
-
特徴量の値をシャッフルするとモデル スコアが減少する場合、その特徴量は「重要である」と言えます。モデルはその特徴量に依存して予測するからです。
-
特徴量の値をシャッフルしてもモデルのパフォーマンスが変わらない場合、その特徴量は「重要でない」と言えます。モデルはその特徴量を無視して予測するからです。
Permutation Importance チャートでは、影響が最も大きい特徴量 (モデル パフォーマンスへの影響が最も大きい) から、影響が最も小さい特徴量 (モデル パフォーマンスへの影響が最も小さい) の順番で表示されます。バーのサイズは、各特徴量の重要度を表しています。
Permutation importance チャートは、実験中にトレーニングされた各モデルに対して自動生成されます。チャートは [モデル] タブに表示されます。
Permutation Importance を使用して特徴量列を選択する
モデルのトレーニングを繰り返す場合、Permutation Importance を調べて、保持する列と除外する列を決定できます。複数のモデルで、最も重要な特徴量がどれであるかを記録します。それらの特徴量は、予測値が最も多く、モデルを改良するにあたり保持の対象となる特徴量となります。同様に、常にリストの一番下にある特徴量は、予測値があまりない可能性が高く、除外の対象となります。
あるアルゴリズムのスコアが他のアルゴリズムよりも大幅に優れている場合は、そのアルゴリズムの Permutation Importance チャートに注目します。複数のアルゴリズムが同じようなスコアを持っている場合、それらのアルゴリズムの Permutation Importance チャートを比較できます。
Permutation Importance を使用してアルゴリズムを選択する
各アルゴリズムには、トレーニング データからパターンを学習するための独自のアプローチがあります。実験は複数のアルゴリズムでトレーニングされ、特定のデータセットに最適なアプローチを確認します。さまざまなアルゴリズムの Permutation Importance の違いが、異なるアプローチに反映します。例えば、ロジスティック回帰モデルでは特徴量 A が最も重要であり、同じデータに対する XGBoost 分類のアプローチでは特徴量 B が最も重要であるとします。一般に、多くの予測力を持つ特徴量は、アルゴリズム全体で上位の特徴量であると予想されますが、バリエーションがあるのが一般的です。
Permutation Importance のこのバリエーションは、類似したスコアを持つアルゴリズムを選択するときに使用できます。特定のビジネス知識を考慮して、より直感的な上位特徴量を備えたアルゴリズムを選択します。
Permutation Importance の可用性
実験にフリー テキスト機能を含めると、実験は複雑になり、実行に必要なプロセスが増加します。フリー テキスト データが十分に複雑な場合、結果モデルで [Permutation Importance] チャートを使用できない可能性があります。