数据挖掘Part 3 聚类分析

数据挖掘Part 3 聚类分析

  • 3.1聚类分析基本概念和方法
  • 3.2度量数据的相似性与相异性
  • 3.3K-means算法
    • 3.4离群点检测
    • 3.4.1离群点:数据对象——明显有别于其他的——异常数据
    • 3.4.2分类:
    • 3.4.3主要方法类别:
    • 3.4.4 利用高斯分布检测离群点
    • 3.4.5 基于K-means聚类的离群点检测

3.1聚类分析基本概念和方法

聚类分析(无监督学习)简称聚类,是一个把数据对象(或观测)划分成子集的过程。每个子集是一个簇,使得簇中的对象彼此相似,但与其他簇中的对象不相似。由聚类分析产生的簇的集合称作一个聚类。

相同的数据集不同的聚类方法也可能产生不同的聚类。
用处:1.发现数据内事先未知的群组;
2.离群点检测

基本聚类方法:
1.划分方法(把对象组织成多个互斥的组或簇,优化一个客观划分准则)——k-means
2.层次方法——Chameleon
3.基于密度的方法——DBSCAN
4.基于网格的方法——STING

方法 一般特点
划分方法 发现球形互斥的簇;对中小规模数据集有效;基于距离;可以用均值或中心点等代表簇中心
层次方法 聚类是一个层次分解(即多层);不能纠正错误的合并或划分;可以集成其他技术,如微聚类或考虑对象“连接”
基于密度的方法 可以发现任意形状的簇;簇是对象空间中被低密度区域分隔的稠密区域;簇密度:每个点的“邻域”内必须具有最少个数的点;可能过滤离群点
基于网格的方法 使用一种多分辨率网格数据结构;快速处理(典型的,独立与数据对象数,但依赖于网格大小)

3.2度量数据的相似性与相异性

相似性和相异性都称为近邻性。
用对象之间的距离确定两个对象的相似性(欧式空间、公路网、向量空间等)
在其他方法中,相似性可以用基于密度的连接性或邻近性定义,并且可能不依赖两个对象之间的绝对距离。

sim(i , j)= 1 - d( i , j)
d(i,j)一般而言是非负数值代表对象之间的差异性。
(1)相异度计算方法(一种标称属性的相似度度量)
标称属性:一般可取两个或多个状态
两对象之间的相异性可以根据不匹配率来计算
d(i,j)=
m是i与j相同状态的属性数,p是刻画对象的属性个数。

(2)Jaccard距离(二元属性相似度度量)
给定两个比较对象A,B。A,B均有n个两元属性,即每个属性取值为{0,1}。
M00:A,B属性值同时为0的属性个数;
M01:A属性值为0且B属性值为1的属性个数;
M10:A属性值为1且B属性值为0的属性个数;
M11:A,B属性值同时为1的属性个数;
数据挖掘Part 3 聚类分析_第1张图片

在这里插入图片描述

此处分母之所以不加M00的原因在于:
对于杰卡德相似系数或杰卡德距离来说,它处理的都是非对称二元变量。非对称的意思是指状态的两个输出不是同等重要的,例如,疾病检查的阳性和阴性结果。
按照惯例,我们将比较重要的输出结果,通常也是出现几率较小的结果编码为1(例如HIV阳性),而将另一种结果编码为0(例如HIV阴性)。给定两个非对称二元变量,两个都取1的情况(正匹配)认为比两个都取0的情况(负匹配)更有意义。负匹配的数量s认为是不重要的,因此在计算时忽略。

(3)数值属性的相似度度量方法
欧几里得距离、曼哈顿距离

3.3K-means算法

K-means算法把簇的形心定义为簇内点的均值。

首先,在D中随机地选择k个对象,每个对象代表一个簇的初始均值或中心。对剩下的每个对象,根据其与各个簇中心的欧氏距离,将它分配到最相似的簇。然后,K-means算法迭代地改善簇内变差。对于每个簇,它使用上次迭代分配到该簇的对象,计算新的均值。然后,使用更新后的均值作为新的簇中心,重新分配所有对象。迭代继续,知道分配稳定,即本轮形成的簇与前一轮形成的簇相同。

Created with Raphaël 2.2.0 开始:随机选择一个k值,用以确定簇的总数。 任选k个实例作为初始簇中心;计算与其他剩余实例的简单欧氏距离,用其作为相似性的度量,将于某个簇相似度高的实例划分到该簇中,成为其成员之一。 新的簇中心等于上次迭代的簇中心? 结束 yes no

即,现任选k个值作为最终的k个类的中心点,分别计算其他实例到它们的欧氏距离(两点间的距离公式),比较大小,跟谁近就跟谁放一堆,然后在计算这新形成的一堆里的平均值,再计算各实例到平均值的距离,再分堆,直至分堆结果与上一次相同。

3.4离群点检测

3.4.1离群点:数据对象——明显有别于其他的——异常数据

3.4.2分类:

全局离群点——显著偏离数据集中的其余对象
情境(条件)离群点——条件的依赖于选定的情境
集体离群点——数据对象的一个子集作为整体显著偏离整个数据集。(个体数据对象可能不是离群点)

3.4.3主要方法类别:

基于统计——构建概率模型
低概率的对象视为离群点——前提:必须知道数据集服从什么发布——高维数据,效果差

基于邻近度——数据对象之间定义邻近性度量
二维三维——散点图;大数据集不适用;对参数选择敏感;具有全局阈值;不能处理不同密度区域的数据集

基于密度——数据集可能存在不同密度区域(原理)

基于聚类——丢弃远离其它簇的小簇or先聚类所有对象然后评估对象属于簇的程度。对聚类算法依赖度高

3.4.4 利用高斯分布检测离群点

拿标准的正态分布来说,三个标准差(σ)覆盖的范围内,可以覆盖 99.7% 的数据,那么在 3σ 以外的数据就可以认定为离群点。
样本标准差=方差的算术平方根=s=sqrt(((x1-x)^2 +(x2-x)^2 +…(xn-x)^2)/(n-1))

利用异常较少的数据集拟合出一个高斯分布,当要预测一个样本是否为异常时,只需将这个新样本带入高斯分布求出概率,如果概率小于指定的阈值时,我们认为这个样本是异常的。

3.4.5 基于K-means聚类的离群点检测

数据挖掘Part 3 聚类分析_第2张图片

你可能感兴趣的:(好好学习不挂科)