Skip to content

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

特徴量ごとの作用

注意

Evaluate > Feature Fit has been removed. Use Feature Effects instead, as it provides the same output.

機械学習手法の多くは非常に複雑であることから、モデルを直接解釈することが難しいことがあります。 理解タブの特徴量ごとの作用は、特徴量のインパクトスコアに基づい特徴量をランク付けします。

特徴量ごとの作用の説明

特徴量ごとの作用は、モデルの予測の各特徴量の値の変化による影響を示します。 特徴量ごとの作用では、各特徴量とターゲットの間の関係性がモデルでどのように「理解」されているかを示すグラフが表示されます。特徴量は、特徴量のインパクトでソートされます。 インサイトは、他のすべての特徴量が変化せずに維持された状態で1つの特徴量の値の変化によってモデルの予測にどのような影響が生じるかを示す部分依存の観点から表示されます。 したがって、「特徴量ごとの作用は何か、またこのモデルで、この特徴量はどのように使用されているか」に対する回答が示されます。モデルの評価方法を横並びにして比較する場合:

  • 特徴量のインパクトは、特定のモデルの各特徴量の相対的なインパクトを示します。
  • 特徴量ごとの作用(部分依存を含む)は、各特徴量の値の変化によってモデル予測がどのように変化するかを示します。

特徴量ごとの作用を計算するをクリックすると、最初に(プロジェクトに対してまだ計算されていない場合)特徴量のインパクトが計算され、その後にモデルの特徴量ごとの作用の計算が実行されます。

表示オプション

The following table describes the elements of the Feature Effects display:

要素 説明
特徴量の検索 Lists of the top features that have more than zero-influence on the model, based on the Feature Impact (Feature Effects) score.
スコア ターゲット特徴量との関連性を報告します。 これは特徴量のインパクトに表示される値です。
ターゲット範囲 ターゲットの値の範囲を表示します。
特徴量値 選択した特徴量の個々の値を表示します。
特徴量値のツールチップ 特徴量のビン化された値のサマリー情報を提供します。
特徴量値の数 選択した特徴量に対して、選択したパーティション分割の特徴量分布を設定します。
表示コントロール 表示にプロットされる値(部分依存、予測、および/または実際)を制御するフィルターを設定します。
ソート条件 並べ替えのコントロールを提供します。
ビン 対象となる特徴量タイプにおいて、特徴量値の数の表示のビンの大きさを設定します。
データ選択 どのパーティション分割が1)予測値と実測値の基礎として使用されるか、2)部分依存の計算に使用されるサンプルとして使用されるかを制御します。 OTVプロジェクトのオプションは若干異なります。
クラスの選択(多クラスのみ) ターゲット特徴量内の特定のクラスのグラフ化された結果を表示するためのコントロールを提供します。
詳細 欠損値を表示するかどうかを制御し、Y軸のスケールを変更します。
エクスポート データをダウンロードするためのオプションを提供します。

DataRobotでの値の計算方法、表示を使用する際のヒントの説明、およびエクスポージャーと加重による出力の変化の詳細については、以下のセクションを参照してください。

特徴量のリスト

To the left of the graph, DataRobot displays a list of the top 500 predictors. 矢印キーまたはスクロールバーを使用して特徴量をスクロールするか、検索フィールドを使用して名前で検索します。 任意の特徴量について全てのサンプル行が空欄の場合、その特徴量はそのセットでは利用できません。 セット内で1つの特徴量を選択すると、その特徴量の結果を反映して表示が更新されます。

特徴量ごとの作用スコア

セット内の各特徴量には、その特徴量の特徴量のインパクトスコアがあります。 特徴量のインパクトでは、上位500の各特徴量に対して、ターゲット予測に対する1つの特徴量の有用性が測定されます。 特徴量のインパクトは、(その他の列を変更せずに)1つの特徴量の選択行をシャッフルする前と後の予測の差分を計算することによって推定されます。 DataRobotは、スコアを正規化し、最重要列の値が1(100%)になるようにします。 0%のスコアは、計算された関係性がないことを示します。

ターゲット範囲(Y軸)

Y軸は、ターゲット特徴量の値範囲を表します。 二値分類問題と連続値問題の場合、これは0と1の間の値です。二値分類以外のプロジェクトの場合、軸には最小から最大の値が表示されます。 スケーリング特徴量を使用してY軸を変更し、表示のフォーカスを絞り込むことができます。

特徴量値(X軸)

X軸には、特徴量セットで選択された特徴量に対して見つかった値が表示されます。 選択したソート順によって値の表示方法が制御されます。

数値特徴量の場合

数値特徴量のロジックは、予測値/実測値を表示しているか、部分依存を表示しているかに応じて異なります。

予測値/実測値のロジック

  • 選択したパーティション分割内の値の数が20よりも多い場合、分割内の分布に基づいて値がビニングされ、各ビンの予測値と実測値がプロットされます。

  • 値の数が20以下の場合、選択した分割内に存在する上位の値の予測値/実測値がプロットされます。

部分依存のロジック

  • データセット全体の特徴量の値の数が99よりも多い場合、データセット全体の特徴量の分布のパーセンタイルの部分依存が計算されます。

  • 値の数が99以下の場合、データセット内のすべての値(外れ値を除く)の部分依存が計算されます。

チャート固有のロジック

部分依存の特徴量値は、データセット全体にわたる特徴量の分布のパーセンタイルから派生されます。 X軸には、欠損値の作業を含む==Missing==ビンが表示されることがあります。 部分依存の計算には、データセットを通して特徴量が欠損していない場合でも「欠損値」が常に含まれます。 特徴量が欠損していたと仮定した場合に平均予測がどのようになるかが表示されます(「仮定」なので特徴量が実際に欠損している必要はありません)。

カテゴリー特徴量の場合

カテゴリーの場合、X軸には、選択したパーティション分割の予測値、実測値、および部分依存に対して最も頻繁に出現する25個の値が表示されます。 カテゴリーは該当する場合に含まれることができます。

  • =All Other=:カテゴリー特徴量の場合、最も頻繁に出現する25個の値以外のすべての値を含む単一のビン。 =All Other=に対しては、部分依存は計算されません。 DataRobotはワンホットエンコーディングとオリジナルエンコーディングの前処理タスクを使用して、低頻度レベルを自動的にグループ化します。

両方のタスクでmin_support高度なチューニングパラメーターを使用して低頻度値をグループ化できます。 デフォルトでは、DataRobotはワンホットエンコーダーの値を10で使用し、オリジナルのエンコーダーでは5を使用します。 つまり、10レベル(ワンホットエンコーダー)または5(序数エンコーダー)のカテゴリーは1つのグループに集約されます。

  • ==Missing==:欠損値を含むすべての行(特徴量の1つの値がNaN)を含む単一のビン。

  • ==Other Unseen==:トレーニングセットに存在しないすべての値を含む単一のビン。 =Other Unseen=に対しては、部分依存は計算されません。 詳細については、以下の説明を参照してください。

特徴量値ツールヒント

各ビンに対して、特徴量の計算済み値と行数を表示するには、表示領域でビンの上にマウスを置きます。 次のようなツールチップが表示されます。

このツールチップが示す内容を以下に示します。

For the feature number diagnoses when the value is 7, the partial dependence average was (roughly) 0.407 and the actual values average was 0.432. これらの平均は、データセットの201個の行から計算されました(診断数は7)。 Select the Predicted label to see the the predicted average.

特徴量値の数

X軸の下の棒グラフは、選択された特徴量の各値の頻度を示す視覚的なインジケータを提供します。 グラフの棒は、その上にリストされた特徴量値にマッピングされているので、並べ替えを行うと棒の表示が変更されます。 これは、頻出値チャート(データページ)に表示されるものと同じ情報です。 対象となる特徴量タイプに対して、ビンドロップダウンを使用して、ビンの数を設定(ビニングを決定)できます。

表示コントロール

表示制御リンクを使用して、プロットされたデータの表示を設定します。 実測値はオレンジの円で表され、予測値は青いバツで表されます。部分依存のポイントは黄色い塗りつぶし円で表されます。 この方法により、ポイントは相互の表示をブロックすることなく表示されます。 凡例のラベルをクリックまたはクリック解除して、ディスプレイの特定の外観に焦点を合わせます。 DataRobotでの値の計算および表示方法については、以下のセクションを参照してください。

ソートオプション

ソート条件ドロップダウンは、プロットデータの並べ替えオプションを提供します。 分類特徴量の場合、アルファベット順、頻度、または影響のサイズ(部分依存)を基準に並べ替えることができます。 数値による特徴量については、並び順は常に数値によります。

ビンの数の設定

ビン設定では、表示のビンの大きさを設定できます。 このオプションは、選択した特徴量が数値特徴量または連続特徴量である場合にのみ使用できます。カテゴリー特徴量や少ない一意の値を含む数値特徴量では使用できません。 特徴量値のツールチップを使用してビンの統計を表示できます。

パーティション分割の選択

データ選択ドロップダウン(トレーニング、検定、およびホールドアウト(ロック解除されている場合)で予測値、実測値、および部分依存値に使用するパーティション分割を設定できます。 明白ではない場合もありますが、トレーニングデータセットの結果を調査する理由があります。

パーティション分割を選択すると、その選択は、コントロールが選択されているかどうかに関係なく、3つのすべてのコントロールに適用されます。 しかし、部分依存の計算を同じパーティション分割に対して実行すると、データの別の範囲が使用されます。

データ選択オプションは、時間認識プロジェクトを調査しているかどうかに応じて異なります。

非時間認識プロジェクトの場合:トレーニングまたは検定セットを選択できるすべてのケースで、ホールドアウトのロックが解除されている場合、ホールドアウトパーティションを選択することもできます。

時間認識プロジェクトの場合:時間認識プロジェクトの場合、トレーニング、検定、およびホールドアウト(使用可能な場合)、および特定のバックテストを選択できます。 詳細については、時間認識のデータ選択の設定を参照してください。

クラスを選択します(多クラスのみ)

多クラスプロジェクトでは、データセット内の各特徴量のクラスごとの結果をグラフ化するように表示を追加で設定できます。

デフォルトでは、DataRobotは上位10の特徴量の作用を計算します。 10未満にランク付けされた機能のクラスごとの結果を表示するには、機能名の横にある計算をクリックします。

エクスポート

エクスポートボタンを使用すると、モデルの詳細および個々の特徴量に関連付けられたグラフとデータをエクスポートできます。 ZIPファイルをエクスポートする場合、部分依存および予測対実データ用に全てのチャート画像およびCSVファイルが取得されます。

その他のオプション

The Feature Effects insight provides tools for re-displaying the chart to help you focus on areas of importance.

備考

このオプションは、データセットに欠損値がある場合、チャートのアクセスがスケーラブルな場合、またはプロジェクトが二値分類の場合にのみ使用できます。

歯車アイコンをクリックしてオプションを表示します。

オプションを有効にするには、以下のボックスを選択または選択解除します。

  • 欠損値を表示する:欠損値の影響を表示または非表示にします。 このオプションは、数値的特徴量でのみ利用可能です。 欠損値に対応するビンには、=Missing=というラベルが付けられます。

  • Y軸のオートスケール:実測値、予測値、および部分依存値のプロットに使用するY軸の範囲をリセットします。 このオプションを選択すると(デフォルト設定)、軸にはターゲット特徴量の最高値から最低値までが表示されます。 このオプションを選択しない場合、該当する範囲全体(二値プロジェクトの場合は0から1)が表示されます。

  • 対数X軸:複数の異なるX軸表現の間を切り替えます。 このオプションは、数値特徴量の値がゼロより大きく、歪度が高い(テールの一方が他方よりも長い)分布で使用できます。

詳しい情報…

このセクションでは、以下の内容について説明します。

平均値の計算

表示の予測値および実測値では、平均値がプロットされています。 以下の例を使用して計算を説明します。

下記のデータセットでは、特徴量Aは2種類の値(1または2)を取ります。

特徴量A 特徴量B ターゲット
1 2 4
2 3 5
1 2 6
2 4 8
1 3 1
2 2 2

この架空のデータセットでは、X軸に2つの値(1および2)が表示されます。目標値A = 1の場合、DataRobotは平均を4 + 6 + 1 / 3として計算します。A = 2のときは、平均は5 + 8 + 2 / 3 です。したがって、グラフ上の実測値の点と予測値の点は、集計された各特徴量値に対するターゲット値の平均を示します。

以下に具体例を示します。

  • 数値特徴量の場合、特徴量ドメインに基づいてビンが生成されます。 たとえば、16~101の範囲の特徴量Ageの場合、ビン(ユーザーが数を選択します)は、その範囲に基づきます。
  • カテゴリー特徴量の場合、たとえばGenderでは、上位の一意な値に基づいてビンが生成されます(この場合はおそらくMFN/Aの3つのビン)。

次に、各ビンの予測値の平均および各ビンの実測値の平均が計算されます。

表示の解釈

特徴量ごとの作用では、カテゴリー特徴量はポイントとして表現されます。数値特徴量は接続されたポイントとして表現されます。 これは、カテゴリー特徴量には線形の関係がない一方で、各数値は相互に対する関係で表現できるからです。 破線は、プロットするための十分な値がないことを示します。

備考

高度なオプションタブに表示されるエクスポージャーパラメーター特徴量を使用すると、線の計算方法が異なります

Consider the following Feature Effects display:

オレンジの円は、選択した特徴量における集計された番号_診断特徴量の平均ターゲット値を表します。 言い換えると、ターゲットが 再入院で、選択した特徴量が番号_診断のとき、2つの診断を受けた患者が再入院する確率は、平均で約23%です。 3つの診断を受けた患者が再入院する確率は、平均で約35%です。

青い十字は、選択された特徴量に関し、特定の値に対する平均予測値を表します。 グラフから、DataRobotが予測特徴量値を平均化し、番号_診断が2のとき、再入院の確率を25%と計算したことが分かります。 実測ラインと予測ラインと比較することで、モデル予測が観測されたデータと異なる箇所を特定できます。 これは通常、その箇所のサイズが小さいときに起こります。 それらの場合、たとえば、一部のモデルは、全体平均により近い予測をするかもしれません。

黄色い部分依存線は、他のすべての予測特徴量の平均効果を考慮した後の、ターゲット特徴量上の特徴量の周辺効果を示しています。 これは、対象の特徴量以外の全ての変数を一定に維持した場合、その特徴量の値がどのように予測に影響を及ぼすのかを示します。 当該の特徴量の値は、考えられる各値に再割り当てが行われ、各設定でそのサンプルに対する平均予測を計算します。 (上記の単純な例では、DataRobotは、全1000列が値1を使用する際と、全1000列が値2を使用する際にも、平均結果を計算します。) これらの値は、各特徴量の値がどのようにターゲットに影響を及ぼすかを判断するのに役立ちます。 黄色いラインの形状は、選択された特徴量とターゲットの間の周辺関係性のモデルビューを「説明」しています。 詳細については、部分依存の計算の説明を参照してください。

表示の使用に関するヒント:

  • モデルの精度を評価するには、部分依存ボックスの選択を解除します。 この設定では、モデルの予測値に対する実測値を示す視覚的インジケーターが表示されます。

  • 部分依存を理解するには、実測値と予測値のボックスの選択を解除します。 ソート順を影響のサイズに設定します。 部分依存ラインを注意深く見てみましょう。 有用な特徴量の影響を分離すると、ビジネスのシナリオにおける結果の最適化に非常に役に立つことがあります。

  • 特定レベルのサンプルに十分な観測値が存在しない場合、部分依存の演算が特定特徴量値に対して欠損している可能性があります。

  • 実線ではなく破線の予測値(青)および実測値(オレンジ)は、チャートのポイントに作成されたビンに行がないことを示します。

  • 数値特徴量では、値の数が18よりも多い場合、データセット全体にわたる特徴量の分布のパーセンタイルから派生した値を用いて部分依存が計算されます。 その結果、値はマウスオーバーのツールチップに表示されません。

表示サブセットとしてのトレーニングデータ

特徴量ごとの作用を表示することには、いくつかのメリットがあります。 まず、トレーニングされたモデルが、トレーニングに使用されたデータにどれだけ適合するかを判断するために役立ちます。 また、モデルパフォーマンスで既出のデータと初出のデータの間の差分を比較できます。 つまり、トレーニング結果を表示すると、既知の値でモデルをチェックできます。 トレーニングセットの予測値と実測値の比較結果が弱い場合、データに対してモデルが適切に選択されていない可能性があります。

部分依存を考慮する場合、トレーニングデータを使用すると、値はトレーニングサンプルに基づいて計算され、可能な最大特徴量ドメインと比較できます。 その結果、(その他の特徴量からの限界効果を削除することによって)単一の特徴量とデータの範囲全体にわたるターゲットの間の関係性をチェックすることができます。 たとえば、1月から6月までをカバーする検定セットで12月の部分依存を表示する場合を考えます。 その月のデータが検定にない場合、12月の部分依存を表示することはできません。 しかし、データ選択サブセットをトレーニングに設定することにより、効果を表示することができます。

部分依存の計算

予測値/実測値および部分依存の計算方法は、連続データの場合大きく異なります。 The calculations for Predicted/Actual that bins the data, for example, (1-40], (40-50]... are created to result in sufficient material for computing averages. 値は、選択されたパーティション分割の特徴量の分布に基づいてビニングされます。

一方、部分依存では、データセット全体にわたる特徴量の分布のパーセンタイルである単一の値(1、5、10、20、40、42、45...)が使用されます。 1000行のサンプルが使用され、曲線のスケールが決定されます。 予測値/実測値とのスケールの互換性を維持するために、1000のサンプルは選択された分割のデータから抽出されます。 言い換えれば、部分依存は、データセット全体からの値の最大可能な範囲に対して計算されますが、データ選択分割設定に基づいてスケールされます。

For example, consider a feature year. 部分依存の場合、データ内のすべての年に基づく値が計算されます。 予測値/実測値の場合、計算は選択した分割内の年に基づきます。 データセットの日付範囲が2001-01-01から2010-01-01である場合、部分依存の計算にこの範囲が使用されます。 対照的に、予測値および実測値の計算では、該当する選択済み分割/バックテストからのデータだけが含まれます。 この違いは、選択した分割の3つのすべてのコントロール表示を表示すると確認できます。

Deep dive: Partial dependence calculations

The partial dependence plot shows the marginal effect a feature has on the predicted outcome of a machine learning model—or how the prediction varies if we just change one feature and keep everything else constant. The following calculation illustrates this for one feature, X1, on a sample of 1000 records of training data.

Assume that X1 has 5 different values (like 0, 5, 10, 15, 20). For all 1000 records, DataRobot creates artificial datapoints by keeping all features constant except the feature X1, which translates to 5,000 records (each row duplicated 5 times with one value of the different levels of X1). Then it makes predictions for all 5,000 records and averages the predictions for each level of X1. This average prediction now corresponds to the marginal effect of feature X1, as displayed on the partial dependence plot.

If there are 10 features, and each feature has 5 different values in a training dataset of 10k records, creating the marginal effect using all the data would require making predictions using 500k records (computationally expensive). Because it can obtain similar results for less "cost," DataRobot only uses a representative sample of the data to calculate partial dependence.

時間認識プロジェクトのデータ選択

時間認識プロジェクトを操作する場合、バックテストが原因でデータ選択ドロップダウンの動作は若干異なります。 Select the Feature Effects tab for your model of interest. タブの値をまだ計算していない場合、バックテスト1(検定)の計算を行うよう求めるプロンプトが表示されます。

備考

表示しているモデルが開始日と終了日(推奨モデルに共通)を使用している場合、バックテストの選択は利用できません。

計算が完了すると、以下のデータ選択設定と共にインサイトが表示されます。

バックテストの計算

バックテスト名をクリックしたときの結果は、バックテストがモデルに対して実行されているかどうかに応じて異なります。 スコアリングが最も高いモデルに対してバックテストが自動的に計算されます。スコアリングが低いモデルでは、リーダーボードで実行を選択してバックテストを開始する必要があります。

以下の例では、バックテストが実装されていない場合と実行されている場合を比較します。

計算が完了した後、表示する各バックテストおよびホールドアウト(該当する場合)に対して特徴量ごとの作用の計算を実行する必要があります。 ドロップダウンからまだ計算されていないバックテストをクリックすると、DataRobotに計算を開始するためのボタンが表示されます。

パーティション分割の設定

バックテストの計算が完了したら、データ選択コントロールを使用して、表示するバックテストおよびパーティションを選択します。 使用可能なパーティション分割は、バックテストに応じて異なります。

以下にオプションを示します。

  • 番号付きバックテストの場合:計算済みの各バックテストの検定およびトレーニング
  • ホールドアウト分割の場合:ホールドアウトおよびトレーニング

下向きの矢印をクリックしてダイアログを開き、パーティションを選択します。

または、左右の矢印をクリックして現在選択されているパーティション(検定またはトレーニング)およびホールドアウトのオプションをナビゲートします。 まだ計算されていないオプションにナビゲートすると、計算を開始するボタンが表示されます。

ビニングと上位値

By default, DataRobot calculates the top features listed in Feature Effects using the training dataset. カテゴリー特徴量値の場合は、X軸の個々のポイントとして表示されますが、別のデータソースを選択するとそのセグメント化に影響します。 セグメント化を理解するには、以下の図およびセグメントを説明する表を考えてみます。

チャートの表示 チャートのラベル 説明
上位Nの値 <feature_value> 選択された特徴量の値の数(最大20個まで)。 10個以上の値を含む特徴量については、以下の例に示すように、結果がさらにフィルターされます。
その他の値 ==All Other== 最も頻繁に出現する上位N個の値以外のすべての値を含む単一のビン。
個の値が欠損しています ==Missing== 欠損値を含むすべてのレコード(特徴量の1つの値がNaN)を含む単一のビン。
初出の値 <feature_value> (Unseen) トレーニングセットで既出ではないが、検定およびホールドアウトの上位N個として対象となるカテゴリー特徴量値。
初出の値 ==Other Unseen== トレーニングセットで既出ではなく、検定およびホールドアウトの上位N個として対象とならないカテゴリー特徴量値。

上位N個を説明するシンプルな例:

カテゴリー特徴量(Population)を含むデータセットおよび100の世界人口を例に説明します。DataRobotでは、上位N個は次のように計算されます。

  1. 人口ごとに国がランク付けされます。
  2. 人口が最も多い上位20の国が選択されます。
  3. 値が10個以上ある場合、累積頻度が95%よりも多くなるように結果がさらにフィルターされます。 したがって、累積人口が世界人口の95%に達する国がX軸に表示されます。

初出を説明するシンプルな例:

カテゴリー特徴量Lettersを含むデータセットを考えてみます。 Lettersの値の完全なリストは、A、B、C、D、E、F、G、Hです。 フィルターされた後、上位N個が3つの値に等しいことが決定されます。 特徴量はカテゴリーなので、Missingビンはありません。

分割/セット 見つかった値 上位3の値 X軸の値
トレーニングセット A、B、C、D A、B、C A、B、C、=All Other=
検定セット B、C、F、G+ B、C、F* B、C、F(初出)、=All Other=Other Unseen+
ホールドアウトセット C、E、F、H+ C、E、F C、E(初出)、F(初出)、=All Other=Other Unseen+

* 上位3個に含まれていてもトレーニングセットに存在しない新規値(Unseenとしてフラグが設定されます)

+ トレーニングまたは上位3位に存在しない新規値(Other Unseenとしてフラグが設定されます)

エクスポージャーによる出力の変化

プロジェクトのモデルを構築するときにエクスポージャーパラメーターを使用した場合、特徴量ごとの作用タブには、エクスポージャーに合わせて調整されたグラフが表示されます。 この場合の詳細を以下に示します。

  • オレンジの線は、特定の値に関して、エクスポージャーの合計で除算されたターゲットの合計を示します。 ラベルとツールチップには、実測値の合計/エクスポージャーの合計と表示され、モデルの構築中にエクスポージャーが使用されたことを示します。

  • 青い線は、エクスポージャーの合計で除算した予測の合計を示し、凡例には予測の合計/エクスポージャーの合計と表示されます。

  • 黄色い部分依存 で示された若干の影響は、1000行のサンプルのエクスポージャーの合計を除数として割られた数となります。 この調整は、保険契約の年間コストと予測の間の関係性を理解する場合などに便利です。 ラベルツールチップにはエクスポージャーによって調整された平均部分依存性が表示されます。

加重による出力の変化

プロジェクトに加重パラメーターを設定すると、上記の平均および合計の計算で加重が適用されます。


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