跟我一起数据挖掘(7)——矩阵

简介:

我们将一个对象的一个属性扩展到多个对象的多个属性,就形成了矩阵。


上面就是一个矩阵的示例。

相异性矩阵:

相异度矩阵存储n个对象两两之间的相似性,表现形式是一个n×n维的矩阵。d(i,j)是对象i和j之间相异性的量化表示,通常为非负值,两个对象越相似或“接近”,其值越接近0,越不同,其值越大,且d(i,j)= d(j,i),d(i,i)=0。

相异度矩阵是对象—对象结构的一种数据表达方式,多数聚类算法都是建立在相异度矩阵基础上,如果数据是以数据矩阵形式给出的,就要将数据矩阵转化为相异度矩阵。对象间的相似度或相异度是基于两个对象间的距离来计算的。

数据的相似性(similarity)和相异性(dissimilarity)都称为邻近性(proximity)。两个对象越相似则相似性值越高,越相异则相异性值越高。用于度量相似性和相异性的数据结构是:数据矩阵(用于存放数据对象)和相异性矩阵(用于存放数据对象对的相异性值)。

标称属性的邻近性度量

假设标称属性的状态数目是M。两个对象i和j之间的相异性可以根据不匹配率来计算:


其中,p是刻画对象的属性总数,m是两个对象取值相同的属性数。

相似性可以用下式计算:sim(i,j) = 1 – d(i,j) = m / p。

示例

假如我们有以下的样本数据:

对象标识符 属性1
1 A
2 B
3 C
4 A

此处令p=1,获取4个对象构成的相异性矩阵如下所示:

有相异性矩阵可得


代入数据:

0
(1-0)/1 0
(1-0)/1 (1-0)/1 0
(1-1)/1 (1-0)/1 (1-0)/1 0

得到结果如下:

由相异性矩阵可知,对象1和4是相似的,其他对象互不相似。

二元属性的邻近性度量

二元属性只有两种状态。

二元属性的邻近性度量分为对称的(symmetric)和非对称(asymmetric)的两种情况。对称的二元属性是指两个状态都同样重要,非对称的二元属性是指一个状态可以被忽略。

对于二元属性的相似性度量,首先需要制作两个对象的二元属性的列联表,如下所示:

二元属性的列联表

对象j
对象i 1 0 sum
1 q r q+r
0 s t s+t
sum q+s r+t p

表中q是对象i和j都取1的属性数;r是在对象i中取1、在对象j中取0的属性数;s是在对象i中取0、在对象j中取1的属性数;t是对象i和j都取0的属性数。属性的总数是p,p=q + r + s + t。

如果对象i和j都是用对称的二元属性刻画,则i和j的相异性为:


如果对象i和j都是用非对称的二元属性刻画,只有一个结果是重要的,那么上述公式中的t认为是可被忽略的,则i和j的相异性为:


非对称的二元相似性可以用下式计算:


公式中的sim(i,j)被称作Jaccard系数。

目录
相关文章
|
数据采集 存储 算法
数据挖掘(2.4)--数据归约和变换
在实际问题中有时也会采用一些经验性的方法,如自然分区法,即3-4-5规则。这种方法将数值型的数据分成相对规整的自然分区。
148 0
|
算法 数据挖掘 BI
数据挖掘(5.1)--贝叶斯分类
贝叶斯方法是一种研究不确定性的推理方法,不确定性常用贝叶斯概率表示,它是一种主观概率,是个人主观的估计,随个人的主观认识的变化而变化
114 0
|
算法 数据挖掘 程序员
几种距离计算公式在数据挖掘中的应用场景分析
标签: 数据挖掘/曼哈顿距离/欧几里得距离/皮尔逊相关系数/余弦相似度 打开微信扫一扫,关注微信公众号【数据与算法联盟】 转载请注明出处:http://blog.csdn.
2415 0