私はいくつかのモデルを比較するためにshapライブラリを使用しています。そのうちの1つは正則化された線形回帰ですが、説明者を作成しようとすると:
shap.KernelExplainer(linear_reg,X1)
次のエラーが表示されます。
\Anaconda3\lib\site-packages\shap\common.py in match_model_to_data(model, data)
87 out_val = model.f(data.convert_to_df())
88 else:
---> 89 out_val = model.f(data.data)
90 except:
91 print("Provided model function fails when applied to the provided data set.")
TypeError: 'Lasso' object is not callable
以下は、このエラーを再現するコードです。
from sklearn.datasets import make_regression¿
from sklearn.linear_model import LinearRegression
import shap
from sklearn import linear_model
X1,y1= make_regression(10,100)
linear_reg = linear_model.Lasso(alpha=0.1)
linear_reg.fit(X1, y1)
shap.initjs()
explainer = shap.KernelExplainer(linear_reg,X1)