プロットを強制する

plot_force() 関数を使用して、各特徴量がモデルの予測にどのように貢献するかを示す可視化を作成します。特徴量の貢献度は、モデルの予測が基本値より高いか低いかを指示する矢印で表されます。

モデル予測に対する特徴量の貢献度を示す強制プロットの例

強制プロットの矢印のサイズは、その大きさに対応します。前の図表では feature_5 は最大のプラスの影響を与え、予測をより上にプッシュしますが、feature_4 には最大のマイナスの影響があり、予測を低くプルします。最終的な予測値はおよそ4です。

必要な引数

引数

説明

shap_row

特定のインスタンスの SHAP 値を含むpandas SeriesまたはSnowpark Row。SHAP 値は、各特徴量が予測にどの程度貢献しているかを表します。

features_row

同じインスタンスの実際の特徴量値を含むpandas SeriesまたはSnowpark Row。これらの値は、貢献度と一緒に表示されます。

オプションの引数

引数

説明

base_value

モデルの平均予測を表す基本値。デフォルトは0.0ですが、通常はモデルの平均予測値に設定する必要があります。

figsize

プロットのサイズを制御するタプル(幅, 高さ)。指定がない場合は、デフォルトのサイズ(1400, 500)を使用します。

contribution_threshold

表示する特徴量をフィルターする0から1の間の浮動小数点数。このしきい値より大きい絶対 SHAP 値を持つ特徴量のみ(絶対 SHAP 値の合計の割合として)が表示されます。デフォルトは0.05(5%)。

この関数は、以下の項目を視覚化したチャートを返します。

  1. 出発点としてのモデルの予測

  2. 赤はプラスの貢献度(予測以上)

  3. 青はマイナスの貢献度(予測以下)

  4. 注釈として特徴量名、特徴値、影響値

可視化は、次のデータポイントを理解するのに役立ちます。

  • 特定の予測に最も強力な影響を与える特徴量はどれか

  • 各特徴量が予測を上方または下方にプッシュするかどうか

  • 各特徴量の貢献度の大きさ

  • 特徴量の組み合わせによって最終予測に達する方法

注釈

特徴量が貢献度のしきい値を満たさない場合、または無効なしきい値が提供された場合(0と1の間ではない)、関数は SnowflakeMLException を発生します。