Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

特徴量のインパクト

備考

SHAPベースの特徴量のインパクトを視覚化するには、モデルを構築する前に高度なオプションのSHAP値をサポートするモデルのみを含めるを有効にする必要があります。

特徴量のインパクトは、モデルの決定を最も促進している特徴量を高レベルで示します。結果をモデル化するために重要な機能を理解することで、モデルがビジネスルールに準拠しているかどうかをより簡単に検定できます。特徴量のインパクトは、削除してモデルのパフォーマンスを向上させることができる重要ではない列や冗長な列を特定する機能を提供することで、モデルの改善にも役立ちます。

特徴量のインパクトは、特徴量の有用性データページ)とは異なります。データページの有用性列内に表示される緑色のバーは、1つの特徴量が単独でターゲット特徴量との間にどのような相関性を有しているかを測定します。これに対し、特徴量のインパクトは、ある特徴量がモデルのコンテキスト内でどの程度有用であるかを測定します。

特徴量のインパクトのレンダリングには3つの方法(置換、SHAP、およびツリーベースの有用性)があります。同じインサイトが生成されても潜在的に異なる結果が返される場合の混乱を避けるために、これらは相互に隣接して表示されません。以下のセクションでは、それぞれの相違点と計算方法について説明します。

すべてのモデルタイプで使用できる特徴量のインパクトはオンデマンド特徴量なので、結果を使用するには計算を行う必要があります。モデルに対する特徴量のインパクトをDataRobotに計算させると、その情報はプロジェクトと共に保存されます(プロジェクトを開くたびに計算し直す必要はありません)。これは多クラスモデルでも使用可能であり、独自の機能を提供します。

共有置換ベースの特徴量のインパクト

特徴量のインパクトおよび予測の説明タブは、計算結果を共有します(予測の説明はインパクトの計算に依存します)。どちらかのタブで計算したインパクトは、もう一方のタブでも結果を表示できます。特徴量のインパクトタブだけでなく、デプロイおよび特徴量ごとの作用タブから計算を開始することができます。また、DataRobotは置換ベースの特徴量のインパクトの上位スコアリングリーダーボードモデルを自動的に実行します。

特徴量のインパクトの解釈と使用

特徴量のインパクトは、モデルの決定を促進している特徴量を高レベルで示します。デフォルトでは、特徴量は有用性の高い順に並べ替えられます。最も有用性の高いモデルの精度は常に1に正規化されます。

特徴量のインパクトは以下の情報を提供します。

  • 最も有用性の高い特徴量(人口統計データ、取引データ、またはモデルの結果を促進する何か他の要素)。業界の専門家のナレッジとのすり合わせ。

  • モデルを改善する機会の有無。精度がマイナスの特徴量や冗長な特徴量がある場合があります。そのような特徴量を削除すると、モデルの精度と速度が向上する場合があります。一部の特徴量は、有用性が予想外に低い可能性があるので調査する価値があります。データに問題があるかどうか、データ型が正しく定義されているかどうか、などについて確認します。

特徴量のインパクトを評価する際は、以下の点に注意してください。

  • 特徴量のインパクトは、モデルのトレーニングデータのサンプルを使用して計算されます。サンプルサイズが結果に影響する場合があるため、より大きいサンプルサイズで値を再計算する必要があります。

  • 時折、データに含まれるランダムノイズが原因で、負の特徴量のインパクトスコアを含む特徴量がある場合があります。極度にアンバランスなデータでは、大部分が負の値となる場合があります。これらの特徴量を削除することを検討してください。

  • プロジェクト指標の選択は、特徴量のインパクトの結果に基づく置換に大きな影響を与える可能性があります。AUCなど、一部の指標はモデル出力において小さい変更に対する真陽性率が低いので、特徴量の変化がモデルの精度にどれだけ影響するかを評価するには最適ではありません。

  • いくつかの条件の下では、モデリングに使用するアルゴリズムの関数が原因で特徴量のインパクトの結果が変わることがあります。これは、多重共線性の場合などに発生する可能性があります。この場合、L1ペナルティを使用するアルゴリズム(いくつかの線形モデルなど)を使用する場合、インパクトは1つの信号に集中します。ツリーの場合、インパクトは相関信号にかかわらず均一に分散されます。

特徴量のインパクトの方法論

DataRobotでは特徴量のインパクトの計算に使用できる3つの方法(置換、SHAP、およびツリーベースの有用性)があります。

  • 置換ベースでは、列の値がシャッフルされた場合に、トレーニングデータのサンプルに基づいて、モデルの誤差がどの程度増加するか示されます。

  • SHAPベースでは、平均で各機能がトレーニングデータの予測値にどの程度影響するか示します。教師ありプロジェクトの場合、SHAPはAutoMLプロジェクトのみに使用できます。SHAPリファレンスも参照してください。

  • ツリーベース特徴量の有用性は、ノードの不純物測定(ジニ、エントロピー)を使用して、各特徴量がモデルに追加するゲインの量を示します。

それぞれの方法における注目すべきいくつかの相違点:

  • 置換ベースのインパクトは、すべてのモデリング手法で機能するモデルにとらわれないアプローチを提供します。ツリーベースの有用性はツリーベースのモデルでのみ機能します。SHAPは、SHAPをサポートするモデルの結果のみを返します。

  • SHAP特徴量のインパクトは、サンプルサイズが小さい場合、置換ベースの特徴量のインパクトよりも高速でロバストです。

  • SHAPベースと置換ベースの両方の特徴量のインパクトは、元の特徴量の有用性を示しますが、ツリーベースの有用性はモデリング中に派生した特徴量の有用性を示します。

全体的に、元の特徴量との結果が示され、方法はモデルに依存しないことから、DataRobotでは置換ベースまたはSHAPベースの特徴量のインパクトを使用することを推奨します。

教師なしプロジェクトの特徴量のインパクト

異常検知特徴量のインパクト(教師なしプロジェクト)は、SHAP値を集計することによって計算されます(AutoMLと時系列プロジェクトの両方)。後者は指標を計算するためにターゲット列を必要とするので、この手法は置換ベースの計算の代わりに使用されます。SHAPでは、アウトオブサンプルの行ごとに近似値が計算され、列ごとに平均化されます。サンプルは、トレーニングデータ全体で均一に取得されます。

特徴量のインパクトチャートの生成

備考

時系列モデルで使用できるいくつかの追加の設定があります。

置換ベースおよびSHAPベース特徴量のインパクトの場合:

  1. モードを選択します。DataRobotはデフォルトで置換を使用します。SHAPを使用するには、プロジェクトを開始する前に高度なオプションリンクでモードをSHAPに設定します。

  2. モデルの特徴量のインパクトチャートを表示するには、解釈 > 特徴量のインパクトタブを選択します。

  3. 計算サンプルサイズを変更します(オプション)。

  4. 特徴量のインパクトを計算をクリックします。DataRobotは、右ウインドウワーカー使用量パネルに計算状況を表示します。さらに、計算ボックスが状況インジケータに置き換えられ、そこに計算済み特徴量をパーセンテージで表示されます。

  5. DataRobotが計算を完了すると、モデルの最も有用性の高い特徴量が特徴量のインパクトグラフに有用性順に最大25個表示されます。チャートは、Y軸上に特徴量名、X軸に予測可能な有用性(影響)を列挙します。また、計算に使用された方法も示されます。

    モデルとサンプルサイズに応じて、出力で冗長な特徴量がDataRobotにレポートされることがあります(アイコンで示されます)。冗長情報を使用して、これらの特徴量を除外する特殊な特徴量セットを容易に作成できます。

  6. 初期設定では、チャートは影響(有用性)を基に特徴量を表示しますが、アルファベット順に並べ替えることもできます。ソート条件ドロップダウンをクリックして、特徴量名を選択します。

  7. オプションとして、サンプルサイズの再調整および特徴量のインパクトの再計算を行います。

  8. エクスポートボタンをクリックし、モデルの最も有用性の高い特徴量のうち最高1000件を含んだCSVファイルをダウンロードします。

ツリーベースの特徴量の有用性情報は、インサイト > ツリーベースの特徴量の有用性に表示できます。

サンプルサイズの変更

サンプルサイズを設定するオプションは、多クラスモデル(置換のみ)の場合を含め、置換ベースおよびSHAPベースの特徴量のインパクトに使用できます。

精度と安定性が高い結果を取得するために、デフォルトの2500行よりも大きいサンプルサイズ(またはダウンサンプリングした場合はより小さいサンプルサイズ)で特徴量のインパクトをトレーニングすることが考えられます。サイズを変更する機能は、モデルの検定プロセス中の再現性を高めるのに役立ちます。デフォルトよりも大きいサンプルサイズを使用すると、多くの特徴量やカーディナリティ特徴量、あるいはその両方を含むデータセット、または高い乖離度のターゲットを含むデータセットの精度が向上することがあります。

サンプルサイズを変更するには:

  1. 特徴量のインパクトの計算に使用するサンプルサイズを表す行のパーセンテージ/数を確認します。プラス記号をクリックして、新しい値を設定するモーダルを開きます。

  2. 以下の表に記載されているオプションのいずれかを使用して、サンプルサイズを変更します。DataRobotは、設定を変更すると更新される計算時間の見積もりを提供します。

    備考

    特徴量のインパクトサンプルサイズ計算の最大行数は100,000行です。

    オプション サンプルサイズの基準
    パーセント 合計行のパーセンテージ
    行数 行数
    切り替え先 使用できる合計行のプリセットされたパーセンテージ。クイック(25%)、ハーフ(50%)、または最大(100%)のいずれか
    スライダー カウントを設定するためのドラッグ可能なバー。入力ボックスに値を入力すると選択に反映されます。
  3. 終了したら、サンプルを設定をクリックして、特徴量のインパクトの有効化計算ボタンに戻ります。計算が完了すると、デフォルト以外のサンプルサイズを使用した特徴量のインパクトの視覚化で、使用された値がレポートされます(1)。

  4. 計算されたチャートのサンプルサイズを変更するには、サンプルサイズを調整する (2)をクリックして、サンプルサイズ設定モーダルを開きます。値を調整して再計算をクリックします。

1つのモデルのサンプルサイズを変更すると、その値が(行数ではなく、利用可能なトレーニングデータのパーセントとして)、特徴量のインパクトを計算していないプロジェクト内の他のモデルの新しい「デフォルト」として継承されることに注意してください。ただし、この場合もサンプルサイズを変更することが可能です。以前に計算されたスコアは、変更による影響を受けません。

新しい特徴量セットを作成

モデルに対する特徴量のインパクトを計算したら、そのモデルで上位のインパクトを持つ特徴量に基づいて(または、置換ベースのプロジェクトの場合は冗長な特徴量を除外して)、複数の特徴量セットを作成することができます。(特徴量のセットの詳細についてはこちらを参照してください)その後、新しい特徴量セットを使用してモデルをサイド実行することで、さらに精度の高い結果が作成される可能性があります。なお、縮小されたセットがモデルのパフォーマンスを改善しない場合でも、特徴量が少ないモデルは動作が速いことから利点があるといえます。特徴量のインパクトページから新規特徴量セットを作成するには:

  1. DataRobotで特徴量のインパクトの計算が完了した後、特徴量セットを作成をクリックします。

  2. セットに含める特徴量の数を入力します。これらは影響に関するトップX特徴量です(アルファベット順にソートされているか否かを問わず)。30種類以上の特徴量が表示されるように選択することができます。トップ30の特徴量を確認する場合は、CSVにエクスポートし、そのファイルから得られる特徴量の数を特定してください。

  3. オプションで、冗長な特徴量を除外を選択して、冗長な特徴量を除外したセットを構築することができます。これらの特徴量には、冗長()アイコンが表示されます。

  4. フィールドに入力した後、特徴量セットを作成をクリックしてセットを作成します。新規特徴量セットを作成した時点で、全ての特徴量セットドロップダウンメニューで利用可能になり、特徴量セットタブ(データページ)に表示できます。

冗長な特徴量の削除(AutoML)

モデルに対して置換ベースの特徴量のインパクトを実行すると、トレーニング行のサブセット(デフォルトで2500行、リクエストに応じて最大100,000行)をDataRobotが評価し、ターゲットに対するそのインパクトが計算されます。2つの特徴量によって予測が同様に変化する場合、DataRobotでは、その2つの特徴量のインパクトが相関するものとして認識され、低い特徴量のインパクトの特徴量が冗長として識別されます()。モデルタイプとサンプルサイズは特徴量のインパクトスコアに影響するので、冗長な特徴量の識別はモデルとサンプルサイズごとに異なります。

冗長な特徴量が識別された後、冗長な特徴量を除外した新しい特徴量セットを作成できます。オプションとして、ユーザー指定のトップNの特徴量を含む新しい特徴量セットを作成することもできます。冗長な特徴量を除外する場合、DataRobotでは特徴量のインパクトの再計算が行われます。その結果、特徴量のランキングが変わり、トップ特徴量の順序が変わることがあります。新しいランキングが作成されても、チャート表示は更新されません。

時系列での特徴量のインパクト(置換のみ)

時系列モデルの場合、元の特徴量または派生した特徴量の結果を表示するオプションがあります。元の特徴量を表示すると、元の親特徴量から派生したすべての特徴量が1つのエントリーとしてグラフに表示されます。特徴量の上にカーソルを置くと、元の特徴量および派生した特徴量の集計されたインパクト(派生した特徴量のインパクトの合計)を示すツールチップが表示されます。

設定リンクからプロットを再スケールすることもできます(デフォルトでオン)。その場合、表示がズームインしてインパクトの低い結果が表示されます。この機能を使用すると、最も高い特徴量のインパクトが他の特徴量に比べて顕著に高い場合、低い特徴量の値を表示しないようにすることができます。

設定リンクは、スケーリングが使用可能な場合にのみ使用できます。リンクは特徴量のインパクトの値の比率(スケーリングを必要とするのに十分高いかどうか)に基づいて表示または非表示になります。具体的には、highest_score / second_highest_score > 3の場合にのみ表示されます。

冗長な特徴量の除外(時系列)

時系列の冗長な特徴量を除外オプションは、AutoMLオプションと同様に機能し、日付/時刻でパーティションされたプロジェクトに適用されます。時系列の場合、新しい特徴量セットは派生した特徴量(モデリングデータセット)から構築することができ、特徴量のインパクトを再計算して、インパクトの得られる特徴量のセットを使用してモデリングの向上に役立つことができます。

多クラスモデルでの特徴量のインパクト(置換のみ)

多クラスモデルの場合、特徴量のインパクトを計算して、特徴量が全般的にモデルでどれだけ有用なのかに加えて、個々のクラスでどれだけ有用なのかを見つけることができます。これは、クラスごとに特徴量のインパクトをどのようにトレーニングするかを決定する際に便利です。

特徴量のインパクトを計算した後、チャートに追加のクラスを選択ドロップダウンが表示されます。

集約オプションを使用すると、その他のモデルと同様に特徴量のインパクトが表示されます。これには、モデルの最も有用な特徴量が最も有用性の高いものから順に最大25個表示されます。1つのクラスを選択すると、その特徴量のインパクトスコアが新しいチャートに表示されます。

エクスポートボタンをクリックすると、集約または1つのクラスの最も有用な特徴量を含むチャートの画像およびCSVファイルがダウンロードされます。各クラスおよび集約の特徴量のインパクトスコアとチャートを含むZIPファイルをダウンロードすることもできます。

特徴量のインパクトの計算

このセクションには、3つの利用可能な方法のそれぞれの計算に関する技術的な詳細が含まれています。

  • 置換ベースの特徴量のインパクト
  • SHAPベースの特徴量のインパクト
  • 特徴量の有用性(木型アルゴリズム)

置換ベースの特徴量のインパクト

置換ベースの特徴量のインパクトは、特徴量値がシャッフルされたときのモデル精度の低下を測定します。値を計算するために、DataRobotでは次の処理が行われます。

  1. トレーニングレコードのサンプルで予測を作成します。デフォルトでは2500行、最大100,000行です。
  2. トレーニングデータを変更します(列の値をシャッフルします)。
  3. 新しい(シャッフルされた)トレーニングデータの予測を作成し、シャッフルによる精度の低下を計算します。
  4. 平均低下を計算します。
  5. 特徴量ごとに手順2〜4を繰り返します。
  6. 結果を正規化します(一番上の特徴量のインパクトは100%)。

サンプリングプロセスは、以下の条件のいずれかに対応します。

  • 均衡したデータの場合、ランダムサンプリングが使用されます。
  • 不均衡なバイナリデータの場合、スマートダウンサンプリングが使用されます。DataRobotは、50/50により近い不均衡なバイナリターゲットの分布を作成し、スコアリングに使用するサンプルの重みを調整します。
  • ゼロ過剰連続値データの場合、スマートダウンサンプリングが使用されます。DataRobotは、非ゼロ要素をマイノリティークラスにグループ化します。
  • 不均衡の多クラスデータの場合、ランダムサンプリングが使用されます。

SHAPベースの特徴量のインパクト

SHAPベースの特徴量のインパクトは、平均で各特徴量がトレーニングデータの予測値にどの程度影響するかを測定します。値を計算するために、DataRobotでは次の処理が行われます。

  1. トレーニングデータから5000レコードのサンプルを取得します。
  2. サンプルの各レコードのSHAP値を計算し、各レコードの各特徴量の局所的な有用性を生成します。
  3. サンプル内の各特徴量のabs(SHAP values)の平均を取ることにより、グローバルな有用性を計算します。
  4. 結果を正規化します(一番上の特徴量のインパクトは100%)。

ツリーベース特徴量の有用性

ツリーベース特徴量の有用性は、ノードの不純物測定(ジニ、エントロピー)を使用して、各特徴量がモデルに追加するゲインの量を示します。


更新しました February 22, 2022
Back to top