混淆矩阵和列联表之间有什么区别?

Man*_*ang 13 cluster-analysis matrix data-mining difference

我正在编写一段代码来评估我的聚类算法,我发现每种评估方法都需要来自m*n矩阵的基本数据,例如A = {aij},aij作为类成员ci和集群元素的数据点的数量kj.

但在数据挖掘简介(Pang-Ning Tan et al.)中似乎有两种这样的矩阵,一种是混淆矩阵,另一种是应变表.我不完全理解两者之间的区别.哪个最能描述我想要使用的矩阵?

非常感谢您的回答!

Spe*_*ine 23

维基百科的定义:

在人工智能领域,混淆矩阵是通常用于监督学习的可视化工具(在无监督学习中,它通常被称为匹配矩阵).矩阵的每列表示预测类中的实例,而每行表示实际类中的实例.

混淆矩阵应该清楚,它基本上告诉了多少实际结果与预测结果相匹配.例如,请参阅此混淆矩阵

                 predicted class
                        c1  -  c2
  Actual class   c1     15  -   3
                ___________________
                 c2     0   -   2
Run Code Online (Sandbox Code Playgroud)

它告诉我:

  1. Column1,第1行意味着分类器预测了15个项属于类c1,实际上15个项属于类c1(这是正确的预测)

  2. 第二列第1行告诉分类器已预测有3个项属于类c2,但它们实际上属于类c1(这是一个错误的预测)

  3. 第1列第2行表示实际属于类的项目c2都没有被预测属于类c1(这是一个错误的预测)

  4. 第2列第2行说明属于类的2个项目c2已被预测属于类c2(这是正确的预测)

现在,从您的书(第4章,第4.2章)中查看准确度和错误率的公式,您应该能够清楚地理解什么是混淆矩阵.它用于使用具有已知结果的数据来测试分类器的准确性.K-Fold方法(也在书中提到)是计算分类器准确性的方法之一,也已在您的书中提到过.

现在,对于列联表: 维基百科的定义:

在统计中,列联表(也称为交叉列表或交叉表)是一种矩阵格式的表格,用于显示变量的(多变量)频率分布.它通常用于记录和分析两个或多个分类变量之间的关系.

在数据挖掘中,列联表用于显示在阅读中出现的项目,例如在交易中或在销售分析的购物车中.例如(这是你提到的书中的例子):

       Coffee  !coffee
tea    150       50      200
!tea   650       150     800
       800       200    1000   
Run Code Online (Sandbox Code Playgroud)

它告诉我们在1000个回复中(关于他们喜欢咖啡和茶或两者的反应或其中一个,调查结果):

  1. 150人喜欢茶和咖啡
  2. 50人喜欢喝茶但不喜欢咖啡
  3. 650人不喜欢茶,但喜欢咖啡
  4. 150人既不喜欢茶也不喜欢咖啡

列联表用于查找关联规则的支持度和置信度,主要用于评估关联规则(参见第6章,6.7.1).

现在不同的是,混淆矩阵用于评估分类器的性能,它告诉分类器在进行分类预测时的准确性,并且列联表用于评估关联规则.

现在看完答案后,稍微谷歌(在阅读你的书时总是使用谷歌),阅读书中的内容,看几个例子,不要忘记解决书中给出的一些练习,你应该有关于它们的明确概念,以及在某种情况下使用什么以及为什么.

希望这可以帮助.