我正在编写一段代码来评估我的聚类算法,并且发现每种评估方法都需要来自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/