如何为多分类器建立混淆矩阵?


12

我有6个班级的问题。因此,我构建了一个多类分类器,如下所示:对于每个类,我都有一个Logistic回归分类器,使用“一个vs全部”,这意味着我有6个不同的分类器。

我可以为我的每个分类器报告一个混淆矩阵。但是,我想报告所有分类器的混淆矩阵,正如我在此处的许多示例中所看到的那样。

我该怎么做?我是否必须使用“一对一”算法而不是“一对一”算法来更改分类策略?因为在这些混淆矩阵上,报告指出了每个类别的误报。

多类混淆矩阵的示例

多类混淆矩阵

我想找到错误分类的物品数量。在第一行中,有137个类别1的示例被分类为1类,而13个类别1的示例被分类为2类。如何获得这个号码?


错误分类的项目数是矩阵中所有元素的总和减去矩阵的迹线...但是我不认为这是您的意思。

1
从机械上讲,您可以通过首先将测试集按其实际类别(例如,Target = 1,Target = 2等)分开,然后将训练有素的分类器应用于每个组中的每个点,来获得此矩阵。因此,对于Target = 1,您将根据此组中分配给每个班级的成员人数来填充矩阵的第一行。

这正是应该完成的方式。谢谢!
维克多·里尔

1
没问题。我也在我的帖子中更正式地提到了这一点,但是有时它有助于查看实际的食谱。

Answers:


6

据推测,您正在使用这些分类器来帮助为给定的一组要素值选择一个特定的类(正如您所说的,您正在创建一个多类分类器)。

ññ×ñ一世Ĵ一世Ĵ

这只是2类混淆矩阵的直接扩展。


是! 我知道这一点!但是,怎么说误报呢?我的意思是,有一些例子显示了分类错误的项目数...。我的分类器只是说:“嘿,A类有60个项目,另一类有40个项目(我不能说是哪个项目是...)“
Victor Leal,2015年

1
@VictorLeal我不遵循,混淆矩阵会告诉您假阳性,真阳性,真阴性,假阴性..缺少什么?

1
@VictorLeal,请参阅此处:en.wikipedia.org/wiki/Confusion_matrix

我知道混淆矩阵中包含的信息。也许图像可以更好地代表我在说什么:混淆矩阵多类
Victor Leal,2015年

@VictorLeal对我来说似乎是一个正常的混乱矩阵... LHS显示实际班级,顶部显示分配的班级...我错过了什么吗?另外,您应该将此图像添加到您的帖子中。.它将有所帮助

12

尽管此论坛上已经有一些答案,但我认为我会给出明确的等式来使其更加明确:

假设您有一个形式的多类混淆矩阵,

C=实际分类C11C1个ñCñ1个Cññ

每个类的混淆元素如下:

Ťp一世=C一世一世

Fp一世==1个ñC一世-Ťp一世

Fñ一世==1个ñC一世-Ťp一世

Ťñ一世==1个ñķ=1个ñCķ-Ťp一世-Fp一世-Fñ一世


L和L是什么?
girl101 '19

1
同样,所有课程的tp,tn,fp,fn是
多少

tp =真正,fp =假正,fn =假负,tn =真负。我想索引i是每个类的引用。
艾伯特

1

使用问题中附带的矩阵,将垂直轴上的值视为实际类别,将水平轴上的值视为预测。然后,对于第1类:

  • 真阳性 = 137-> 1类样本,分类为1类
  • 误报 = 6->(1 + 2 + 4)2、3和4类样本,但分类为1类
  • 假负 =18 ->(13 + 3 + 1 + 1)个1类样本,但分类为2、3、6和7类
  • Ture Negative = 581->(55 + 1 + 6 ... + 2 + 26)矩阵中除第1列和第1行中的所有值的总和
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.