3

shapley 是否支持逻辑回归模型?

运行以下代码我得到:

logmodel = LogisticRegression()
logmodel.fit(X_train,y_train)
predictions = logmodel.predict(X_test)
explainer = shap.TreeExplainer(logmodel )

Exception: Model type not yet supported by TreeExplainer: <class 'sklearn.linear_model.logistic.LogisticRegression'>

PS你应该为不同的模型使用不同的解释器

4

3 回答 3

4

根据定义,Shap 与模型无关。看起来您刚刚选择了一个不适合您的模型类型的解释器。我建议查看KernelExplainer,正如这里的创建者所描述的那样

内核 SHAP 的实现,一种与模型无关的方法来估计任何模型的 SHAP 值。因为它不对模型类型做出假设,所以 KernelExplainer 比其他特定于模型类型的算法慢。

Shap 的文档大多是可靠的,并且有一些不错的示例。

于 2020-02-27T13:52:25.123 回答
1

explainer = shap.LinearExplainer(logmodel)应该工作,因为逻辑回归是一个线性模型。

于 2020-12-21T10:59:44.690 回答
0

逻辑回归是一个线性模型,所以你应该使用线性解释器。

于 2020-12-17T03:29:30.817 回答