[shap] shape of passed values is (34, 1), indices imply (34, 34)
変更箇所
# 古いコード
# 戻り値がリストの場合があった
# 例:分類問題では各クラスごとのSHAP値がリストで返される
# [[class0_shap_values], [class1_shap_values], ...]
# そのため最初の要素を取得
shap_values = explainer.shap_values(X)[0]
# 新しいコード
shap_values = explainer.shap_values(X)
# 安全な書き方
shap_values = explainer.shap_values(X)
if isinstance(shap_values, list):
shap_values = shap_values[0]
理由
SHAP のバージョン 0.41.0 以前では、explainer.shap_values(X) の戻り値の形式が現在と異なっているため





ディスカッション
コメント一覧
まだ、コメントがありません