传递的模型不可调用,无法使用给定的掩码器直接分析!型号: 无

her*_*kai 7 model random-forest scikit-learn xgboost shap

当我使用RandomForestRegressor或XGBoost时,不存在这样的问题。由于我使用相关性向量回归,因此出现此错误。

from sklearn_rvm import EMRVR
model_rvr=EMRVR(kernel="linear").fit(X, y)
explainer = shap.Explainer(model_rvr)
Run Code Online (Sandbox Code Playgroud)

例外:传递的模型不可调用,并且无法使用给定的掩码器直接分析!型号: 无

还有与异常相同的问题:传递的模型不可调用,无法使用给定的掩码器直接分析

对于相关性向量回归 => https://sklearn-rvm.readthedocs.io/en/latest/index.html

任何想法 ?

小智 6

我在不同的型号上也遇到过同样的问题。对我有用的解决方案是使用KernelExplainer而不是explainer。此外,您需要使用 model.predict 函数而不仅仅是模型。

所以你的代码应该是:

from sklearn_rvm import EMRVR
model_rvr=EMRVR(kernel="linear").fit(X, y)
explainer = shap.KernelExplainer(model_rvr.predict, X)
Run Code Online (Sandbox Code Playgroud)