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

标签 matrix cluster-analysis data-mining difference

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

但是,在《数据挖掘概论》(Pang-Ning Tan等人)中,似乎有两种这种类型的矩阵,一种是混淆矩阵,另一种是列联表。我不完全了解两者之间的区别。哪个最能描述我要使用的矩阵?

最佳答案

Wikipedia's definition


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


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

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


它表明:


第1列第1列表示分类器已预测属于类别c1的15个项目,而实际上属于类别c1的15个项目(这是正确的预测)
第二列第一行表明分类器已预测3个项目属于类c2,但它们实际上属于类c1(这是错误的预测)
第1列第2列表示没有任何实际属于类别c2的项目被预测为属于类别c1(这是错误的预测)
第2列第2列告诉我们,属于类别c2的2个项目已被预测属于类别c2(这是正确的预测)


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

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


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


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

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


它告诉我们,有1000份回复(关于他们喜欢咖啡和茶还是两者或其中之一的回复,是一项调查的结果):


150个人喜欢茶和咖啡
50个人喜欢喝茶,但是不喜欢喝咖啡
650人不喜欢喝茶,但是喜欢喝咖啡
150个人既不喜欢茶也不喜欢咖啡


列联表用于查找关联规则的支持度和置信度,基本上用于评估关联规则(请参阅第6章,第6.7.1节)。

现在的区别在于,混淆矩阵用于评估分类器的性能,它告诉分类器对分类进行预测的准确度,而列联表用于评估关联规则。

现在,在阅读答案之后,请使用google(在阅读书时始终使用google),阅读书中的内容,查看一些示例,并且别忘了解决书中给出的一些练习,您应该对它们都有一个清晰的概念,以及在特定情况下使用什么以及为什么使用。

希望这可以帮助。

关于matrix - 混淆矩阵和列联表之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7612982/

相关文章:

r - R中决定系数的计算问题

r - R 中的多尺度层次聚类错误

Python MeanShift 内存错误

python - 使用Gensim提取词组出错

python - 在按关注者数量排名的推文中找到主题的好算法?

r - 相关矩阵 - tidyrgather v.reshape2melt

numpy - numpy 中不同行长度的矩阵

Python:从 numpy 矩阵创建二维直方图

python - 是否有一种算法可以生成分散分布的随机样本,就好像它们积极地相互排斥一样?

database - 数据库及相关领域的必读/收藏论文