問題タブ [shap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
277 参照

python - SHAP Explainer でサンプルの重みを使用する

線形モデルの SHAP 値を計算したいと考えています。回帰には、サンプルの重みを使用する必要があります。

問題は、SHAP 値を計算する際に、サンプルの重みが実際に適切に適用されたかどうかを評価できないことです。

ここに例があります。

まず、重みなしで回帰を計算します。

次に、重みを使用して回帰を計算します。

これまでにわかったことから (結果を評価するために R や SPSS などの他のソフトウェア パッケージを使用してさまざまな組み合わせをテストしました)、正しい結果を得るにはfit()関数と関数に重みを適用する必要がありますr2_score()(上記の例を参照)。 . たとえば、重みをfit()関数にのみ適用し、関数には適用しないr2_score()場合、レポートされる R2 値は間違っています (つまり、モデルが間違っています)。関数にも重みを適用するとpredict()、R2 値も間違っています (つまり、モデルが間違っています)。

ただし、SHAP 値は Python でしか計算できないため、結果を評価する方法がありません。問題は、SHAP 値を正しく計算するためにサンプルの重みをどのように適用すればよいかということです。

フィット関数のみ (?):

または、explainer()関数内 (?):

他の可能性もあるかもしれませんが、どれが正しいかわかりません。

これは小さなデータサンプルです。