对于二进制分类,我只得到一个单色特征重要性图(即,这两个类不单独出现)。
然而,对于多类,我得到了不同颜色的特征重要性。有人能解释一下为什么我没有得到同样的二进制分类吗?


谢谢你的回答。但是我做的是两类(即二进制分类)。我也见过有人策划两个班(请看下图)。我也想在我的案子里这么做。在二进制分类中,"shap_values = explainer.shap_values(X)“在二进制分类中只生成一个数组。但是,它在多类中生成三个数组,就像我有三个数组一样。

发布于 2022-12-12 13:03:12
重要性是用一种颜色画出来的,因为我们有一个类,为什么要用几种颜色画一个值呢?
对于多类任务,每个类都考虑形状,因此颜色不同。但是,通过将目标向量表示为0= 1,0,1 = 0,1,其中P1,p2属于0和1类,可以将二进制分类转换为2个类的多类分类,并在形状图上获得2种颜色。但这没有多大意义,因为我们只是把任务复杂化了,却没有任何好处(2类的概率很容易从1表示出来,反之亦然)
发布于 2022-12-12 22:20:08
在二进制分类中,两个类的形状值(给定一个特性和观察)是相互对立的,因此提供这两个类都不会得到任何附加信息。在最后一个情节中,你可以看到这一点:红色和蓝色的条子总是一样长。我以前见过这两种颜色的图形,但我怀疑它们来自于包的旧版本(或者使用更多的自定义代码?);我没有看到它们是用当前的形状生成的。
在多类分类中,会发生更多有趣的事情。在您的第一个情节中,Feature38在区分0和1类方面似乎非常出色,但并不能很好地移动2类的指针。但是特性42有助于区分2类。
https://datascience.stackexchange.com/questions/116979
复制相似问题