変数の重要度

変数の重要度特徴量の重要度)は、モデルに対する特徴量の「重要度」を示すスコアです。たとえば、2 つの入力特徴量「f1」と「f2」を持つ特定のモデルで、変数の重要度が {f1=5.8, f2=2.5} の場合、特徴量「f1」は特徴量「f2」よりもモデルにとって「重要」です。他の ML モデルと同様に、変数の重要度は、決定木の仕組みを理解するための簡単な方法です。

順列変数の重要度など、モデルに依存しない変数の重要度を決定木に適用できます。

デシジョン ツリーには、次のような特定の変数の重要度もあります。

  • 特定の変数を使用した分割スコアの合計。
  • 特定の変数を持つノードの数。
  • すべてのツリーパス全体で特徴が最初に出現する深さの平均。

変数の重要度は、次のような品質によって異なる場合があります。

  • セマンティクス
  • WAF によるメリット
  • プロパティ

さらに、変数の重要度では、次のようなさまざまな種類の情報が得られます。

  • モデル
  • データセット
  • トレーニング プロセス

たとえば、特定の特徴を含む条件の数は、ディシジョン ツリーがこの特定の特徴をどの程度考慮しているかを示します。これは変数の重要性を示す場合があります。結局のところ、重要でない場合は、学習アルゴリズムは複数の条件で特徴を使用しません。ただし、同じ特徴が複数の条件に表示される場合、モデルが特徴のパターンを一般化しようとしているが失敗していることも示唆されます。たとえば、特徴が一般化できる情報がなく、単なるサンプル ID である場合に、この問題が発生することがあります。

一方、並べ替え変数の重要度が高い場合、値が高いほど特徴量を削除するとモデルの性能が低下することを示します。これは変数の重要度を示しています。ただし、モデルが堅牢な場合、1 つの特徴を削除してもモデルに影響しない可能性があります。

変数の重要度はモデルのさまざまな側面を示しているため、複数の変数の重要度を同時に確認すると有益です。たとえば、すべての変数の重要度に従って特徴が重要である場合、この特徴は重要である可能性が高いです。別の例として、特徴量の「ノード数」変数の重要度が高く、「並べ替え」変数の重要度が低い場合、この特徴量は一般化が難しく、モデルの品質が低下する可能性があります。

YDF コード
YDF では、model.describe() を呼び出して [変数の重要度] タブを見ると、モデルの変数の重要度を確認できます。詳細については、 モデルの理解に関するチュートリアルをご覧ください。