如何阅读WEKA中的分类器混淆矩阵

Jak*_*ays 14 classification decision-tree weka

对不起,我是WEKA的新手,只是在学习.

在我的决策树(J48)分类器输出中,存在一个混淆矩阵:

a    b   <----- classified as
130  8     a = functional
15   150   b = non-functional
Run Code Online (Sandbox Code Playgroud)
  • 我该如何阅读这个矩阵?a&b之间有什么区别?
  • 此外,任何人都可以向我解释什么是域名值?

Jun*_*uxx 21

您是否阅读过混淆矩阵维基百科页面?矩阵周围的文本在它们的示例中的排列方式略有不同(左侧的行标签而不是右侧的行标签),但您只是阅读它.

该行表示真正的类,该列表示分类器输出.然后,每个条目给出<row>被分类为的实例数<column>.在您的示例中,15个B(被错误地)分类为As,150个B被正确分类为Bs等.

因此,所有正确的分类都在左上角到右下角.该对角线上的所有内容都是某种不正确的分类.

编辑:维基百科页面已经切换了行和列.有时候是这样的.在研究混淆矩阵时,请务必检查标签,看它是行中的真实类,列中的预测类还是相反的方式.


小智 10

我这样说吧:

混淆矩阵是Weka报告这个J48模型在它正确的方面有多好,以及它出了什么问题.

在您的数据中,目标变量是"功能性"或"非功能性"; 矩阵的右侧告诉您"a"列是有效的,"b"是无效的.

这些列告诉您模型如何对样本进行分类 - 这是模型预测的内容:

  • 第一列包含模型认为是"a"的所有样本 - 其中145个是总数
  • 第二列包含模型认为是"b"的所有样本 - 其中158个

另一方面,行代表现实:

  • 第一行包含所有真正是"a"的样本 - 其中138个是总数
  • 第二行包含所有真正为"b"的样本 - 其中165个

了解列和行,您可以深入了解详细信息:

  • 左上角,130,是你的模型认为是"a"的东西,它真的是"a"< - 这些是正确的
  • 左下角,15,你的模型认为是"a",但实际上是"b"< - 一种错误
  • 右上角,8,你的模型认为是"b",但实际上是"a"< - 另一种错误
  • 右下角,150是您的模型认为是"b"的东西,它们实际上是"b"

所以矩阵的左上角和右下角显示模型正确的东西.

矩阵的左下角和右上角显示模型混淆的位置.