【数据挖掘】聚类 Cluster 矩阵转换 数据矩阵 -> 相似度矩阵 ( 聚类数据类型 | 区间标度型变量及标准化 | 相似度计算 | 明科斯基距离 | 曼哈顿距离 | 欧几里得距离 )



I . 聚类数据类型



聚类数据类型 :


① 区间标度变量 : 由 数值 和 单位组成 , 如 , 168 cmcm , 30 oC^{o}C , 等值 ;

② 二元变量 :

③ 标称型变量 :

④ 序数型变量 :

⑤ 比例标度型变量 :

⑥ 混合型变量 :



II . 区间标度型变量



1 . 区间标度型变量 :


① 举例 : 重量 , 高度 , 长度 , 距离 , 经纬度 , 温度 , 气压 等由 数值 和 刻度单位 组成的变量 ;

② 度量单位影响 : 区间标度型变量 采用的 度量单位 , 直接影响聚类的分组结果 , 如身高使用 米 , 厘米 , 毫米 , 作为单位 , 其数值的数量级都不同 ;

③ 数据标准化 : 为了避免度量单位对聚类分析结果的影响 , 将数据进行标准化操作 , 将 数值 + 单位 组成的标度型变量 , 规范化为单纯由 数值 表示的值 ;



III . 区间标度型变量 标准化



1 . 数据标准化 : 对于 区间标度型变量 ff , 消除其单位对聚类分析结果的影响 , 需要对齐进行标准化 ;


2 . 数据标准化过程 :


① 计算所有样本 ff 属性的平均值 ;

② 计算平均绝对偏差值 ;

③ 计算标准化度量值 ;



IV . 区间标度型变量 标准化 ( 1 ) 计算所有数据的平均值



计算所有数据的平均值 : 假设数据集有 nn 个样本 , 将样本 xxff 属性值变量相加除以 nn 取平均值 ;


mf=1n(x1f+x2f++xnf)m_f = \frac{1}{n} ( x_{1f} + x_{2f} + \cdots + x_{nf} )


nn 表示 数据集样本的个数 ;

mfm_f 表示 nn 个样的 ff 属性的平均值 ;

xix_i 表示第 ii 个样本 ;

xnfx_{nf} 表示第 nn 个样本的 ff 属性的值 , x1fx_{1f} 表示第 11 个样本的 ff 属性 , x2fx_{2f} 表示第 22 个样本的 ff 属性 ;



V . 区间标度型变量 标准化 ( 2 ) 计算平均绝对偏差



1 . 计算平均绝对偏差 : 每个样本的 ff 属性减去 所有样本的 ff 属性平均值 , 然后这个差取绝对值 , nn 个样本的 ff 属性 与平均值的差绝对值 相加 , 然后再 取其平均值 , 平均绝对偏差 ;


① 样本偏差 : 计算单个样本的 ff 属性 与 所有样本的 ff 平均值的差 , 该值可能是正数 , 可能是负数 , 也可能是 0 ;

② 样本绝对偏差 : 将上面计算的 符号 ( 正负号 ) 位置的样本偏差取绝对值 ;

③ 平均绝对偏差 : nn 个样本的绝对偏差相加 , 处于 nn 取平均值 , 即可得到平均绝对偏差 ;


2 . 平均绝对偏差公式如下 :


Sf=1n(x1fmf+x2fmf++xnfmf)S_f = \frac{1}{n} ( | x_1f - m_f | + | x_2f - m_f | + \cdots + | x_nf - m_f | )


SfS_f 表示 平均绝对偏差 ;

x1fmf| x_1f - m_f | 表示第 11 个样本的 ff 属性值 , 减去平均值后的绝对值 ;



VI . 区间标度型变量 标准化 ( 3 ) 计算标准化度量值



1 . 计算标准化度量值 : 进行 Z-Score 变换 , 这是数据标准化处理的常用方法 ;


2 . Z-Score 变换公式如下 : 根据每个样本的 ff 属性值 , 样本的 ff 属性平均值 , 平均绝对偏差 SfS_f , 计算出每个样本的 ff 属性标准化后的值 ;


Zif=xifmfSfZ_{if} = \frac{x_{if} - m_f}{S_f}


ZifZ_{if} 表示 数据样本 标准化 后的 属性值 , 该属性值只有数值 , 没有单位 ;

xifx_{if} 表示第 ii 个样本的 ff 属性值 ;

mfm_f 表示 nn 个样的 ff 属性的平均值 ;

SfS_f 表示 平均绝对偏差 ;


3 . 样本数据属性 标准化 本质 : 获取 数据集中的 单个样本属性 平均属性 偏差 , 相对于 平均绝对偏差 比值 ; 最终的本质是 偏差的比值 ; 根据偏差 确定 样本的相似度 ;



VII . 区间标度型变量 标准化 ( 4 ) 属性标准化示例



已知 : 33 个样本数据 , 代表 33 个人 , 身高属性分别是 145 cmcm , 180 cmcm , 165 cmcm , 将其标准化 ;


1 . 计算平均值 :

mf=1n(x1f+x2f++xnf)=145+180+1653163.333\begin{array}{lcl} m_f &=& \frac{1}{n} ( x_{1f} + x_{2f} + \cdots + x_{nf} )\\\\ &=& \dfrac{145 + 180 + 165}{3}\\\\ &\approx& 163.333 \end{array}


平均值计算结果是 163.333163.333 ;



2 . 计算平均绝对偏差 :

Sf=1n(x1fmf+x2fmf++xnfmf)=145163.333+180163.333+165163.3333=18.333+16.667+1.6673=36.667312.222\begin{array}{lcl} S_f &=& \frac{1}{n} ( | x_1f - m_f | + | x_2f - m_f | + \cdots + | x_nf - m_f | )\\\\ &=&\dfrac{|145 - 163.333| + |180 - 163.333| + |165 - 163.333| }{3}\\\\ &=&\dfrac{18.333 + 16.667‬ + 1.667 }{3}\\\\ &=&\dfrac{36.667‬ }{3}\\\\ &\approx& 12.222 \end{array}


平均绝对偏差值 计算结果是 12.22212.222 ;



3 . Z-Score 标准化 :


① 样本 11 身高 145 cmcm 标准化 : 标准化后的值为 1.5-1.5 , 没有单位只有一个数值 ;

Zif=xifmfSf=145163.33312.222=18.33312.222=1.5\begin{array}{lcl} Z_{if} &=& \dfrac{x_{if} - m_f}{S_f}\\\\ &=&\dfrac{145 - 163.333}{12.222}\\\\ &=&\dfrac{-18.333‬}{12.222}\\\\ &=& -1.5 \end{array}


② 样本 22 身高 180 cmcm 标准化 : 标准化后的值为 1.3641.364 , 没有单位只有一个数值 ;

Zif=xifmfSf=180163.33312.222=16.66712.2221.364\begin{array}{lcl} Z_{if} &=& \dfrac{x_{if} - m_f}{S_f}\\\\ &=&\dfrac{180 - 163.333}{12.222}\\\\ &=&\dfrac{16.667‬}{12.222}\\\\ &\approx& 1.364 \end{array}


③ 样本 33 身高 165 cmcm 标准化 : 标准化后的值为 0.1360.136 , 没有单位只有一个数值 ;

Zif=xifmfSf=165163.33312.222=1.66712.2220.136\begin{array}{lcl} Z_{if} &=& \dfrac{x_{if} - m_f}{S_f}\\\\ &=&\dfrac{165 - 163.333}{12.222}\\\\ &=&\dfrac{1.667‬}{12.222}\\\\ &\approx& 0.136 \end{array}



4 . 标准化结果 : 33 个样本数据 , 代表 33 个人 , 身高属性分别是 145 cmcm , 180 cmcm , 165 cmcm , 将其标准化后的值分别是 : 1.5,1.364,0.136-1.5 , 1.364 , 0.136



VIII . 相似度计算 ( 1 ) 明科斯基距离



1 . 对象相似度 ( 相异度 ) 计算 : 根据 两个 样本对象 之间的 距离 计算 , 通常使用 明科斯基 距离 公式进行计算 ;


2 . 明科斯基 距离 计算公式 :


d(i,j)=xi1xj1q+xi2xj2q++xipxjpqqd(i, j) = \sqrt [q] { | x_{i1} - x_{j1} | ^q + | x_{i2} - x_{j2} | ^q + \cdots + | x_{ip} - x_{jp} | ^q }


d(i,j)d(i, j) 表示两个样本之间的距离 , 明科斯基 距离 ;

qq 是一个系数 , 取值 {1,2,}\{1 , 2 , \cdots\} ; 该取值很重要 , 不同取值衍生出不同的公式 ;

pp 表示属性的个数 , 每个样本有 pp 个属性 ;

iijj 表示两个 样本的索引值 , 取值范围是 {1,2,,q}\{1 , 2, \cdots , q\} ;

xipxjpx_{ip} - x_{jp} 表示两个样本 第 pp 个属性值 的差值 , xi1xj1x_{i1} - x_{j1} 表示两个样本 第 11 个属性值 的差值 , xi2xj2x_{i2} - x_{j2} 表示两个样本 第 22 个属性值 的差值 ;

xipxjp|x_{ip} - x_{jp}| 表示两个样本 第 pp 个属性值 的差值 的绝对值 , xi1xj1|x_{i1} - x_{j1}| 表示两个样本 第 11 个属性值 的差值 的绝对值 , xi2xj2|x_{i2} - x_{j2}| 表示两个样本 第 22 个属性值 的差值 的绝对值 ;

最外层计算 ( qq 次方根 ) : 最终计算需要求 (xi1xj1q+xi2xj2q++xipxjpq)( { | x_{i1} - x_{j1} | ^q + | x_{i2} - x_{j2} | ^q + \cdots + | x_{ip} - x_{jp} | ^q } )qq 次方根 ;




IX . 相似度计算 ( 2 ) 曼哈顿距离



1 . 曼哈顿距离 : 明科斯基距离计算很复杂 , 尤其是 qq 取值很大时 , 因此该公式并不常用 , 通常情况下会将 qq 取值为 11 , 或 22 , 当 q=1q = 1 时 , 该距离又称为 曼哈顿距离 ;


2 . 曼哈顿距离 公式如下 :


d(i,j)=xi1xj1+xi2xj2++xipxjpd(i, j) = | x_{i1} - x_{j1} | + | x_{i2} - x_{j2} | + \cdots + | x_{ip} - x_{jp} |


d(i,j)d(i, j) 表示两个样本之间的距离 , 曼哈顿距离 ;

pp 表示属性的个数 , 每个样本有 pp 个属性 ;

iijj 表示两个 样本的索引值 , 取值范围是 {1,2,,q}\{1 , 2, \cdots , q\} ;

xipxjpx_{ip} - x_{jp} 表示两个样本 第 pp 个属性值 的差值 , xi1xj1x_{i1} - x_{j1} 表示两个样本 第 11 个属性值 的差值 , xi2xj2x_{i2} - x_{j2} 表示两个样本 第 22 个属性值 的差值 ;


3 . 曼哈顿距离 与 明科斯基距离 :


① 去掉了外层 qq 次方跟计算 : q=1q = 1 时 , 外层开 11 次方根 , 直接将 qq 次方根计算的根号去掉即可 ;

② 去掉了样本差的指数计算 : 计算 xi1xj1| x_{i1} - x_{j1} | 值的 11 次方 , 也可以取消 qq 次方的指数计算 ;


4 . 曼哈顿距离图示 : 曼哈顿的街道都是横平竖直的 , 从 AA 点到 BB 点 , 一般就是其 xx 轴坐标差 加上其 yy 轴坐标差 , 即 x+yx + y ;

【数据挖掘】聚类 Cluster 矩阵转换 数据矩阵 -> 相似度矩阵 ( 聚类数据类型 | 区间标度型变量及标准化 | 相似度计算 | 明科斯基距离 | 曼哈顿距离 | 欧几里得距离 )



X . 相似度计算 ( 3 ) 欧几里得距离



1 . 欧几里得距离 : 明科斯基距离计算很复杂 , 尤其是 qq 取值很大时 , 因此该公式并不常用 , 通常情况下会将 qq 取值为 11 , 或 22 , 当 q=2q = 2 时 , 该距离又称为 欧几里得距离 ;


2 . 欧几里得 距离 公式如下 :


d(i,j)=xi1xj12+xi2xj22++xipxjp2d(i, j) = \sqrt { | x_{i1} - x_{j1} | ^2 + | x_{i2} - x_{j2} | ^2 + \cdots + | x_{ip} - x_{jp} | ^2 }


d(i,j)d(i, j) 表示两个样本之间的距离 , 明科斯基 距离 ;

pp 表示属性的个数 , 每个样本有 pp 个属性 ;

iijj 表示两个 样本的索引值 , 取值范围是 {1,2,,q}\{1 , 2, \cdots , q\} ;

xipxjpx_{ip} - x_{jp} 表示两个样本 第 pp 个属性值 的差值 , xi1xj1x_{i1} - x_{j1} 表示两个样本 第 11 个属性值 的差值 , xi2xj2x_{i2} - x_{j2} 表示两个样本 第 22 个属性值 的差值 ;


3 . 欧几里得距离图示 :AA 点到 BB 点的实际直线距离 , 即 zz 距离 ;

【数据挖掘】聚类 Cluster 矩阵转换 数据矩阵 -> 相似度矩阵 ( 聚类数据类型 | 区间标度型变量及标准化 | 相似度计算 | 明科斯基距离 | 曼哈顿距离 | 欧几里得距离 )

欧氏空间 : 可以计算欧几里得距离的空间 , 叫做欧氏空间 ;


4 . 欧几里得 距离 属性 :


① 样本之间的距离非负 : d(i,j)0d(i, j) \geq 0 , 欧几里得 距离是先 求平方和 , 再开根号 , 这个值一定是一个大于等于 00 的数值 ;

② 样本与其本身的距离为 00 : d(i,i)=0d(i, i) = 0 , 一个样本与其本身的 相似度值 肯定为 00 , 因为其属性值完全相同 ;

③ 对称性 : d(i,j)=d(j,i)d(i , j) = d(j , i) , 样本 ii 与 样本 jj 的相似度 , 肯定等于 样本 jj 与 样本 ii 的相似度 ;

④ 三角不等式 : 两边之和 , 一定大于第三边 , d(i,j)d(i,l)+d(l,j)d(i , j) \leq d(i , l) + d(l , j) , 从 第 ii 个样本到第 jj 个样本的 直接距离 , 小于等于 其途径任何样本 ll 生成的的两个距离之和 d(i,l)+d(l,j)d(i , l) + d(l , j), 这两个距离分别是 样本 ii 到 样本 ll 的距离 d(i,l)d(i , l) , 和样本 ll 到 样本 jj 的距离 d(l,j)d(l , j) ;


5 . 属性权重 : 计算时 , 有些属性可能很重要 , 有些属性不重要 , 可以为样本的不同属性 , 赋予不同的权重 , wiw_i ;


公式变为 :


d(i,j)=w1xi1xj12+w2xi2xj22++wpxipxjp2d(i, j) = \sqrt { w_1 | x_{i1} - x_{j1} | ^2 + w_2 | x_{i2} - x_{j2} | ^2 + \cdots + w_p | x_{ip} - x_{jp} | ^2 }


其中 w1w_1 表示属性 11 的权重 , w2w_2 表示属性 22 的权重 , wpw_p 表示属性 pp 的权重 ;