SHAPでの予測説明¶
備考
このセクションでは、SHAPベースの予測の説明について説明します。 SHAPおよびXEMPの概要については、予測の説明の概要も参照してください。
SHAPベースの予測の説明を取得するには、モデルを構築する前に、高度なオプションでSHAP値をサポートするモデルのみを含めるを有効にする必要があります。
SHAPベースの説明は、特定の予測が平均とは異なることに各特徴量がどの程度関与しているかを推定するため、何が予測の根拠となっているかを行単位で理解するのに役立ちます。 モデルが特定の予測をした理由、たとえば、顧客が購入を決めた要因(年齢、性別、購買習慣など)を回答します。そして、各要因が意思決定に与えた影響を特定するのに役立ちます。 これらは直感的で、制限がなく(すべての機能について計算されます)、高速で、SHAPのオープンソースの性質上、透過的です。 SHAPは、モデルの動作をより深く、迅速に理解できるという利点があるだけでなく、モデルがビジネスルールに準拠しているかどうかを簡単に検証することもできます。
加法性の詳細についてはSHAPリファレンスを参照してください。 その他の重要情報については、SHAPに関連する 注意事項を参照してください。
予測の説明のプレビュー¶
プレビューすると、SHAPベースの予測の説明で各行の上位5つの特徴量が表示されます。 これにより、モデルのパフォーマンスの一般的な「直感」が得られます。 その後、トレーニングデータセット全体の説明をすばやく計算してダウンロードし、詳細な分析を実行できます。 詳細についてはSHAPの計算を参照してください。
以下を行うこともできます。
-
外部データセットをアップロードし、説明を手動で計算する(およびダウンロード)。
-
デプロイ済みモデルとリーダーボードモデルの両方について、API経由で説明にアクセスする。
SHAP予測の説明の解釈¶
予測の説明タブを開くと、平均(基準)予測値からの差分に最も貢献する上位5位の特徴量のインタラクティブなプレビューが表示されます。 言い換えれば、これは、各特徴量がどの程度違いを説明しているかを示します。例:
要素の詳細は以下のとおりです。
要素 | 値の例 | |
---|---|---|
1 | 基本(平均)予測値 | 43.11 |
2 | 行の予測値 | 67.5 |
3 | 貢献度、つまり各特徴量が基本値と予測値の差をどれだけ説明しているか | 行ごとに、および特徴量ごとに異なります |
4 | 上位5つの特徴量 | 行ごとに異なります |
基本予測値を行予測値から引いて、平均との差を算出します(この場合24.4)。 次に、貢献度は、リストされた各特徴量がターゲットを平均から外すためにどれだけの原因があるかを示します(特徴量間で24.4の割り当て)。
SHAPは加法的なので、すべての特徴量のすべての貢献の合計は、基本値と行予測値の差に等しくなります。 (加法性の詳細については、ここを参照してください。)
視覚化の解釈に関する追加の備考:
-
貢献は、正または負です。 予測値を押し上げる特徴量は、赤で表示される正の数値です。 予測を減らす機能は青で表示される負の数です。
-
プロット上の矢印は、観測された予測に正と負の影響を与えるSHAP値に比例しています。
-
「その他すべての特徴量の合計」は、貢献度が高い上位5つの特徴量の一部ではない特徴量の合計です。
加法性(潜在的な破損見越し高を含む)の詳細については、SHAPリファレンスを参照してください。
一歩進んだ操作:SHAPプレビュー
SHAPプレビューは、検定パーティションにトレーニングする場合でも、検定データに基づくプレビューを表示します。 モデルが検定にトレーニングされた場合、検定にトレーニングされたモデルがインサンプル予測(モデルのトレーニングにも使用された行の予測)を行っているため、完全な検定データのSHAP説明をダウンロードするオプションは使用できません。 このタイプの予測は、新しい未知のデータに対するモデルの動作を正確に表さないため、DataRobotはこの予測を提供しない代わりに積み上げ予測と呼ばれる手法を使用します。 ホールドアウトデータのSHAP説明を計算することはできません。
これを理解するために、交差検定の際に、DataRobotがCVパーティションの数(またはデフォルトでフォールド5)に等しい一連のモデルを生成すると考えます。 トレーニング予測をダウンロードすると、すべての行で予測を受け取ることができます。 これらの予測は「積み上げ」されます。各行は、トレーニングに使用しなかったサブモデルのいずれかによって予測されます。
一方、SHAPの説明はすべて「プライマリー」モデルに基づいています。モデルはCVフォールド1(またはその一部)でトレーニングされ、検定フォールドでテストされます。 そのモデルを検定フォールド以外のトレーニング行に適用すると、予測と説明がインサンプルになります。 同じ理由で、モデルが検定にトレーニングされる場合、検定の予測は通常のアウトオブサンプルではなくインサンプルになります。
分布上のポイントの表示¶
予測分布コンポーネントを使用して、予測値の範囲をクリックし、上限値と下限値がどのように説明されるかを理解します。 グラフのY軸は予測値を示し、X軸は頻度を示します。
分布の下部近くのポイントを見ると、貢献値は赤の値よりも青(正の貢献よりも負)であることに注意してください。 これは、主要な特徴量の大半が予測値を引き下げているためです。
説明の計算とダウンロード¶
DataRobotでは、選択したレコードの説明が自動的に計算されますが、計算機()アイコンをクリックしてすべてのレコードの説明を計算することができます。 DataRobotでは残りの説明が計算され、準備ができたらダウンロードボタンがアクティブになります。 クリックすると、説明のリストがCSVファイルとして保存されます。 CSVには、各レコードの上位100の説明のみが含まれることに注意してください。 すべての説明を表示するには、APIを使用してください。
データセットのアップロード¶
同じモデルを使用して追加データの説明を計算するには、新規データセットをアップロードをクリックします。
新規の外部データセットをアップロードできる予測を作成タブが開きます。 完了したら、予測の説明に戻ります。ここでは新しいデータセットがダウンロード領域にリストされます。
トレーニングデータセットと同様の方法で、説明を計算()してダウンロードします。 DataRobotは、外部セット全体の計算を実行します。
予測の説明の計算¶
DataRobotは、SHAP予測の説明を自動的に計算します。 UIでは、SHAPは最初に、プレビューされた各行で最も重要な5つの特徴量を返します。 追加特徴量はバンドルされ、Sum of all other features
にレポートされます。 (上記のように、すべての特徴量に対し計算できます。) APIでは、特定の行の説明は、その行の上位100の最も重要な特徴量に限定されています。 より多くの特徴量がある場合、shapRemainingTotal
値に共にバンドルされます。 詳細については、パブリックAPIドキュメントを参照してください。