Python 多类分类图?

Python 多类分类图?,python,scikit-learn,Python,Scikit Learn,我浏览了scikit学习文档,发现大多数曲线绘制支持都是基于二进制分类的 我想为我的多类分类器绘制精确回忆曲线和学习曲线 model1=LogisticRegression() y_d = model1.predict_proba(matrix_test) 我想知道是否有任何方法可以用稀疏矩阵(2242822000)和np数组(22428,)来绘制我的分类器的精度回忆曲线和学习曲线?如果你看一下,你可以看到有一种不对称性,不能直接转换到更高的维度。假设类是C1和C2,那么任意地,其中一个被认为

我浏览了scikit学习文档,发现大多数曲线绘制支持都是基于二进制分类的

我想为我的多类分类器绘制精确回忆曲线和学习曲线

model1=LogisticRegression()
y_d = model1.predict_proba(matrix_test)
我想知道是否有任何方法可以用稀疏矩阵(2242822000)和np数组(22428,)来绘制我的分类器的精度回忆曲线和学习曲线?

如果你看一下,你可以看到有一种不对称性,不能直接转换到更高的维度。假设类是C1和C2,那么任意地,其中一个被认为是“真的”,另一个被认为是“假的”(您还可以注意到,没有对称性:颠倒“真”和“假”不会得到相同的结果)。在更高的维度中,这根本无法直接实现

不过,有很多方法可以提出启发式扩展。假设你的班级是C1,…,Cm。您可以从Ci类的角度计算m精度和召回率,然后取(加权)平均值。权重可能反映了类的重要性

请注意,这正是用于二进制情况的方案,其中“真”类的权重选择为1,“假”类的权重选择为0(再次强调此分数的任意不对称性)

就实现而言,这是微不足道的。假设您的混淆矩阵为
m
。然后从i类的角度来看,精度是
m[i,i]/np.sum(m[:,i])
,召回率是
m[i,i]/np.sum(m[i,:])

,如果你看这个,你可以看到那里有一种不对称性,它不会直接转化为更高的维度。假设类是C1和C2,那么任意地,其中一个被认为是“真的”,另一个被认为是“假的”(您还可以注意到,没有对称性:颠倒“真”和“假”不会得到相同的结果)。在更高的维度中,这根本无法直接实现

不过,有很多方法可以提出启发式扩展。假设你的班级是C1,…,Cm。您可以从Ci类的角度计算m精度和召回率,然后取(加权)平均值。权重可能反映了类的重要性

请注意,这正是用于二进制情况的方案,其中“真”类的权重选择为1,“假”类的权重选择为0(再次强调此分数的任意不对称性)


就实现而言,这是微不足道的。假设您的混淆矩阵为
m
。然后从i类的角度来看,精度是
m[i,i]/np.sum(m[:,i])
,召回率是
m[i,i]/np.sum(m[i,:])

Hi,感谢您的详细解释。因此,就学习曲线和精度-回忆曲线而言,不可能获得多类分类的可视化结果?@minks,不客气。不直接。问题是概念本身的定义不超过2个类。不过,我试图概述如何减少产量。这种减少可以绘制出来。如果有什么不清楚的地方,请回答。嗨,谢谢你的详细解释。因此,就学习曲线和精度-回忆曲线而言,不可能获得多类分类的可视化结果?@minks,不客气。不直接。问题是概念本身的定义不超过2个类。不过,我试图概述如何减少产量。这种减少可以绘制出来。如果有什么不清楚的地方。