変数の重要度
変数の重要度(特徴の重要度とも呼ばれます)は、モデルにとっての特徴の重要度を示すスコアです。たとえば、2 つの入力特徴「f1」と「f2」を持つ特定のモデルの場合、変数の重要度が {f1=5.8, f2=2.5} の場合、モデルにとって特徴「f1」は特徴「f2」よりも「重要」です。他の ML モデルと同様に、変数の重要度は、ディシジョン ツリーの仕組みを理解する簡単な方法です。
並べ替え変数の重要度など、モデル非依存の変数の重要度をディシジョン ツリーに適用できます。
ディシジョン ツリーには、次のような特定の変数の重要度もあります。
- 指定された変数によるスプリット スコアの合計。
- 特定の変数を持つノードの数。
- すべてのツリーパスで最初に出現する特徴の平均深度。
変数の重要度は、次のような性質によって異なります。
- セマンティクス
- WAF によるメリット
- プロパティ
さらに、可変的な重要度により、以下に関するさまざまなタイプの情報が提供されます。
- モデル
- データセット
- トレーニング プロセスでは、
たとえば、特定の特徴を含む条件の数は、ディシジョン ツリーがこの特定の特徴をどの程度見ているかを示します。これは、変動する重要度を示します。結局のところ、学習アルゴリズムは、重要でなければ複数の条件で特徴を使用しません。ただし、同じ特徴が複数の条件に現れる場合は、モデルが特徴のパターンを一般化しようとしていることも示している場合があります。たとえば、特徴が単なる識別子の一例であり、一般化できる情報がない場合に発生します。
一方、置換変数の重要度が高い場合は、特徴量の削除がモデルに悪影響を及ぼしています。これは変数の重要度を示しています。ただし、モデルが堅牢であれば、1 つの特徴を削除してもモデルに悪影響を及ぼすことはありません。
変数の重要度が異なると、モデルのさまざまな側面を知ることができるため、複数の変数の重要度を同時に確認することは有益です。たとえば、ある特徴がすべての変数の重要度に基づいて重要である場合、その特徴は重要である可能性が高くなります。別の例として、ある特徴の「ノード数」の変数の重要度が高く、「並べ替え」の変数の重要度が小さい場合、その特徴の一般化が難しく、モデルの品質を損なう可能性があります。
model.describe()
を呼び出して [変数の重要度] タブを確認します。詳細については、
モデル理解のチュートリアルをご覧ください。