数据挖掘第八章——聚类分析

一、概念

1.聚类分析:仅根据在数据中发现的描述对象及其关系的信息将数据分组。目标是组内的对象相互之间是相似的,而不同组中的对象是不同的。

2.聚类方法Clustering

  • 划分聚类:将数据划分为互不重叠的子集,一个点只属于某一类
  • 层次聚类:将嵌套的类簇以层次树的形式构建
  • 重叠聚类
  • 模糊聚类
  • 完全聚类

2.簇类型Clusters

  • 明显分离的

数据挖掘第八章——聚类分析_第1张图片

  • 基于中心的

数据挖掘第八章——聚类分析_第2张图片

  • 基于近邻的

数据挖掘第八章——聚类分析_第3张图片

  • 基于密度的

数据挖掘第八章——聚类分析_第4张图片

  •  概念簇
  • 目标函数

二、KNN(K-近邻)

计算待分类物体与其他物体之间的距离,对于K个最近的邻居,所占数量最多的类别,预测为该分类对象的类别。

1.算法过程

  • 计算已知类别数据集中的点与当前点之间的距离(欧氏距离、曼哈顿距离或者余弦夹角等各种距离)
  • 按照距离递增次序排序
  • 选取与当前点距离最小的k个点
  • 确定前k个点所在类别的出现频率
  • 返回前k个点出现频率最高的类别作为当前点的预测分类

2.欧氏距离

  • 二维平面上两点A(x1,y1)与B(x2,y2)间的欧氏距离:

         

  •  三维空间两点A(x1,y1,z1)与B(x2,y2,z2)间的欧氏距离:
      

  •  n维空间两点的欧式距离以此类推

https://ershi.blog.csdn.net/article/details/110492841(算法详解)

三、K-means

无监督学习,生成指定K个类,把每个对象分配给距离最近的聚类中心。

1.算法流程

  • 选择K个点作为分类中心点
  • 将每个店分配到最近的类,形成K个类
  • 重新计算每一个类的中心点(类簇的质心)。例如取平均值
  • 直到K个质心不再改变

2.目标函数和评估效果

  • 误差平方和(度量聚类质量的目标函数):数据挖掘第八章——聚类分析_第5张图片在K较小时寻找尽可能小的SSE。
  • 欧氏距离、余弦

 https://blog.csdn.net/qq_18298439/article/details/110492769(算法详解)

3.算法评价

(1)优点:实现简单,运行迅速

(2)缺点:

  • 需要指定K以及初始化参数
  • 初始化的情况对算法结果影响很大
  • 异常点对于算法结果影响很大
  • 难以处理多尺寸、多密度、非球状的类簇聚类问题

四、算法改进-二分K-means

  • 初始化类簇列表,其中仅有一个包含全部节点的类簇

  • repeat

    • 从类簇列表中选择一个类簇
    • repeat(iter_num)
      • 执行K-means算法基础版本,将选中的类簇二分
    • 选择SSE最小的一种二分类簇加入到类簇列表中

    until 类簇列表中包含K个类簇

五、层次聚类

层次聚类(hierarchical clustering)算法极为简单:有N多节点,最开始认为每个节点为一类,然后找到距离最近的节点“两两合并”,合并后的两个节点的平均值作为新的节点,继续两两合并的过程,直到最后都合并成一类。

1.聚类方法

  • 聚集式(凝聚)Agglomerative(从底向上归并)
  • 分裂式Divisive(自顶向下切分)

2.类簇相似性/距离的衡量

(1)MIN/Single Link(单链):两个簇的邻近度定义为两个不同簇中任意两点之间的最短距离。

1) 将每个对象看作一类,计算两两之间的最小距离;

2) 将距离最小的两个类合并成一个新类;

3) 重新计算新类与所有类之间的距离;

4) 重复2)、3),直到所有类最后合并成一类。

  • 可处理非椭圆类簇
  • 对噪声和异常值很敏感

数据挖掘第八章——聚类分析_第6张图片

数据挖掘第八章——聚类分析_第7张图片

(2)MAX/Complete Link(全链):两个簇的邻近度定义为两个不同簇中任意两点之间的最长距离。

  • 倾向于球形类簇
  • 会破坏大尺寸类簇
  • 对噪声和异常值不太敏感

数据挖掘第八章——聚类分析_第8张图片

数据挖掘第八章——聚类分析_第9张图片

 (3)Group Average(组平均):两个簇的邻近度定义为不同簇的多有点对邻近度的平均值。

  • 两个簇的邻近度:数据挖掘第八章——聚类分析_第10张图片(mi,mj为两个簇的大小)
  • 倾向于球形类簇
  • 对噪声和异常值不太敏感

 

 数据挖掘第八章——聚类分析_第11张图片

 数据挖掘第八章——聚类分析_第12张图片

 (上述三个工作过程详解教材323~324  nb338)

  • Ward方法和质心方法

3.聚集式-算法流程

  • 令每个数据点单独成为一个类簇

  • repeat

    • 计算类簇之间的距离矩阵Proximity Matrix
    • 归并两个最近的类簇

    until 仅剩下一个类簇

六、DBSCAN

1.核心概念

  • 密度:该点半径内点的个数
  • 核心点(高密度点):在其半径Eps内有多于阈值MinPts个数的点
  • 边界点(核心区低密度点):非核心点且处于某一核心点半径内
  • 噪声点(非核心区低密度点):除核心点和边界点之外的点
  • 直接密度可达DDR:p点在核心点q的半径内
  • 密度可大DR:p点,q点之间存在一个传递链,链上相邻点都直接密度可达
  • 密度相连DC:存在中间点o,是的o点与p点和q点都密度可达

数据挖掘第八章——聚类分析_第13张图片

2.算法流程

  • 设定参数Eps,MinPts
  • 将所有点标记为核心点、边界点。噪声点、并删除噪声点
  • 在距离在Eps内的所有核心点之间赋予一条边
  • 每组连通的核心点形成一个类簇,将边界点指派到一个与之关联的核心点的类簇中

3.算法评价

(1)优点

  • 对噪声不敏感
  • 能处理不同形状、尺寸的类簇

(2)缺点:难以处理多密度类簇、高维数据

4.聚类效果衡量

  • 外部指标:用于在由外部类型标签的情况下评估聚类效果
  • 内部指标:用于在没有外部信息的情况下评估聚类效果
  • 相对指标:用于比较多个聚类方法

你可能感兴趣的:(机器学习,python,数据挖掘)