在数据挖掘中,在确定适用的算法模型之后,应该让我们的数据也能适用我们的算法。例如聚类,最近邻分类等算法,在这些算法中我们往往需要给我们的数据分类,相似的分为一类,不相似的分为不同类。 比如为了精准营销,商店需要建立顾客画像,得出具有类似特征(例如类似的收入,居住区域和年龄,职业等)的顾客组。也就是我们需要一个评判标准,评估对象之间比较的相似或不相似程度的标准,也就是数据的相似性和相异性。
数据矩阵和相异性矩阵
说到相似性和相异性,我们要先说说数据矩阵和相异性矩阵。
数据矩阵,上个图先看下。
也叫对象-属性结构:这种数据结构用关系表的形式或 n*p ( n 个对象 p 个属)矩阵存放 n 个数据对象,每行对应一个对象 。
相异性矩阵,如图
也叫对象-对象结构:存放 n 个对象两两之间的邻近度。 d(i,j)是对象i和对象j之间的相异性的度量。一般来说,d(i,j是个非负数)。当i和j高度相似或‘接近’时,它的值接近于0,越不同,这个值越大。
那么我们也可以由相异性度量推出相似性。例如,对于标称属性来说。
我们了解完数据矩阵和相异性矩阵后,接下来讲讲不同数据属性的度量相异性的方法。我们在这里详细得讲了数据属性,每种属性的相异性度量是不一样的。
标称属性的临近性度量
标称属性可以取两个或多个状态。例如color是一个标称属性它可以有5种状态:黄,红,绿,粉红,蓝。两个对象i和j之间的相异性可以根据不匹配率来计算。如下图所示
其中,i,j 是对象,m 是匹配的数目(就是 i 和 j 取值相同状态的属性数),而 p 是刻画对象的属性总数
数据属性的相异性
度量数据属性数据的相异性,有很多种方法。被广泛应用得有欧几里得距离,曼哈顿距离,闵柯夫斯基距。
计算前提是:我们应该让数据规范化。比如高度有可能是米或者寸,我们应该先统一它们的单位。规范化方法我们在数据预处理的时候会讲。这里我们知道什么是规范化就可以了。
最流行的距离度量是欧几里得距离公式,如下所示
其中Xi1,Xi2分别是i对象的属性们,Xj1,Xj2分别是j对象的属性们。 另一个著名的度量方法是曼哈顿距离,如下
二元属性的邻近性度量
我们先来讲讲对称和非对称二元属性刻画的对象间的相异性和相似度度量。那么我们怎么计算两个二元属性之间的相异性呢。
前文我们说到二元属性只有两种状态:0 或 1.例如患者的属性smoker,1表示抽烟,0表示不抽烟。假如所有的二元属性都看做具有相同的权重,则我们可以得到一个行列表 如图
上图中, q 是对象 i 和 j 都取 1 的属性数,r 是在对象 i 中取 1,在对象 j 中取 0 的属性数,s 是在对象 i 中取 0,在对象 j 中取 1 的属性数,而 t 是对象 i 和对象 j 中都取 0 的属性数。属性的总数 p,
其中 p=q+r+s+t。