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

时间:2011-09-30 15:56:00

标签: matrix cluster-analysis data-mining

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

引入数据挖掘(Pang-Ning Tan等人)似乎有两种这样的矩阵,一种是混淆矩阵,另一种是列联表。我不完全理解两者之间的区别。哪个最能描述我想要使用的矩阵?

非常感谢您的回答!

2 个答案:

答案 0 :(得分:24)

Wikipedia's definition

  

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

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

                 predicted class
                        c1  -  c2
  Actual class   c1     15  -   3
                ___________________
                 c2     0   -   2

它告诉我们:

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

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

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

    < / LI>
  4. 第2列第2行表示属于类c2的2个项目预计属于类c2(这是正确的预测)

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

    现在,对于列联表: Wikipedia's definition

      

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

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

           Coffee  !coffee
    tea    150       50      200
    !tea   650       150     800
           800       200    1000   
    

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

    1. 150人喜欢茶和咖啡
    2. 50人喜欢喝茶,但不喜欢咖啡
    3. 650人不喜欢茶,但喜欢咖啡
    4. 150人既不喜欢茶也不喜欢咖啡
    5. 列联表用于查找关联规则的支持和置信度,主要用于评估关联规则(参阅第6章,6.7.1)。

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

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

      希望这有帮助。

答案 1 :(得分:0)

简而言之,列联表用于描述数据。正如其他人指出的那样,在比较两个假设时经常使用混淆矩阵。可以将预测分类与实际分类/分类视为两个假设,其中基本事实为零,模型输出为替代。