逻辑回归中的 Shapley 值?

4

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'>

注意:对于不同的模型,您应使用不同的解释器。

3个回答

5
Shap本质上是与模型无关的。看起来您刚选择了一个不适合您模型类型的解释器。我建议查看KernelExplainer,正如创建者在这里所描述的那样:
实现了Kernel SHAP,一种用于估计任何模型的SHAP值的模型无关方法。因为它对模型类型没有任何假设,所以KernelExplainer比其他特定于模型类型的算法慢。
Shap的文档大多数都很好,并且有一些不错的示例。

啊,我明白了。谢谢,这比我想象的简单,我很感激。 - metalrules211
1
没问题。很高兴能帮到你。 - darcycp

2

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


它确实可以,但只有在存在两个类的情况下才能实现。 - mikalai

0

逻辑回归是一个线性模型,因此您应该使用线性解释器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接