10.聚类模型--相比分类模型事先不知道类别

本文介绍了三种聚类算法:K-means、层次聚类和DBSCAN。K-means算法强调快速但需要预设K值,层次聚类无需指定K值但依赖于距离计算,DBSCAN则基于密度划分,能自动发现簇的个数。文章讨论了算法的优缺点、实施步骤、距离计算方法以及如何在SPSS中应用。确定最佳K值的方法包括观察谱系图和图形估计。关键词涵盖聚类算法、K-means、层次聚类、DBSCAN、异常检测和数据预处理。
摘要由CSDN通过智能技术生成

1.K-means聚类算法

基本流程

(1)定义
将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。
同时也要区分于分类模型,分类已知类别,聚类不知道,只是简单的分类,下面来看看如何更好实现。
(2)步骤
1.指定需要划分的簇的个数的K值,类的个数。
2.随机地选择K个数据据对象作为初始的聚类中心,不一定要是我们的样本点。
3.计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所在的簇类中。
4.调整新类并且重新计算出新类的中心。
5.循环3和4,看中心是否收敛,如果收敛或者达到迭代次数就停止循环。
在这里插入图片描述
(3)优缺点
优点:
(1)算法简单、快速。
(2)对处理大数据集,该算法是相对高效率的。
缺点:
(1)要求用户必须事先给出要生成的簇的数目K。
(2)对初值敏感。
(3)对于孤立点数据敏感。
其中第二个和第三个可以通过k-means++来解决,即通过选取更好的初始值点。

更好的求解K的聚类中心的方法

有区别的是初始化K个聚类中心这个步骤,要求初始的聚类中心之间的相互距离要尽可能的远。。

  • 随机选取一个样本作为第一个聚类中心;
  • 计算每个样本与当前已有聚类中心的最短距离(即与最近一个聚类中心的距离),这个值越大,表示被选取作为聚类中心的概率较大;最后,用轮盘法(依据概率大小来进行抽选)选出下一个聚类中心;
  • 重复步骤二,直到选出K个聚类中心。选出初始点后,就继续使用标准的K-means算法了。
    在一开始就是使用的Kmean++算法,选取的两个起始点尽可能远,后面的步骤一样。
    在这里插入图片描述(4)遇到的问题-
    1.k怎么给,多尝试一下,看k取值为多少好解释不如刚刚的结果。
    2 有量纲怎么计算距离,数据量纲不一样,计算距离就没意义,解决方法就是进行标准化处理。

spss求解k均值聚类

在这里插入图片描述
在这里插入图片描述

那么还有上面算法可以不需要指定一个k就可以呢?
采用下面的系统层次聚类就可以了。

3.层次聚类

基本流程

(1)定义
系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图。
在这里插入图片描述
(2)系统(层次)聚类的算法流程:
一、将每个对象看作一类,计算两两之间的最小距离;
二、将距离最小的两个类合并成一个新类;
三、重新计算新类与所有类之间的距离;
四、重复二三两步,直到所有类最后合并成一类;
五、结束。
在这里插入图片描述

距离的介绍

(1)欧式距离就是我们正常求的距离,绝对值距离多用在网状距离
在这里插入图片描述
那么现在我们怎么定义指标和指标之间的距离呢:相关系数或者是夹角余弦
在这里插入图片描述
把数据放在平面上,把接近的点分为一个类,对于类和类之间的距离,就有样本取距离,把接近的点分为一类。
在这里插入图片描述
(2)类和类之间的距离

  • 重心法,求重心,然后看距离
  • 最短距离法:有多个样本点,元素连接找最短距离
  • 最长距离法
  • 组间平均连接法,类之间的点全部连接起来,求平均
  • 组内平均连接法 ,把组内的点连接起来求平均值
    只要解释通,选那种方法都是可以的

(3)总结
系统聚类的流程图在于选取类后再看类和类之间的距离,进行一定的调整,合并计算距离,如果距离小就聚成了一类,再计算类相互之间的距离看能不能聚在一起
再看里面点之间的距离,再看看新类和其余各类之间的距离,得到新的距离矩阵
最后使得矩阵中只有一个元素

spss实现层次聚类

在这里插入图片描述
1.不同方法的差别在于计算新类和其余各类之间的距离方法,分类的目的选择指标,样品间距离定义方式,聚类方法。尤其是样品特别多的时候最好可以通过各种方法找出其中的共性。
2.要注意指标的量纲,差别太大会导致聚类的结果不合理,需要标准化处理
3.得到的结果可能不满意,因为可能只是做的是数学上的处理,还需要对结果有一个合理的解释就,如果不可以的话可以去换一种方法。

我们最后还可以根据谱系图来决定最后分为多少个类。
在这里插入图片描述
可以看到不同的k可以得到不同的结果,最后取决于如何划分。

确定k值确定方法–用图形估计聚类的数量

在这里插入图片描述

在这里插入图片描述
确定完k后就可以保存聚类结果然后画图了
在这里插入图片描述
在这里插入图片描述

3.DBSCAN算法

基于密度的聚类算法,聚类前不需要预先指定聚类的个数,生成的簇不稳定,可以生成特定的图形,一定区域内包含的对象不少于一定的阈值。
在具有噪声的空间数据库中发现容易形状的簇,可以把密度足够大的相邻区域连接,可以有效处理异常数据(有偏移的点)
在这里插入图片描述
从图中可以看成,这个算法比较适合形状独特的图形。

DBSCAN算法将数据点分为三类:
• 核心点:在半径Eps内含有不少于MinPts数目的点
• 边界点:在半径Eps内点的数量小于MinPts,但是落在核心点的邻域内
• 噪音点:既不是核心点也不是边界点的点

优点:

  1. 基于密度定义,能处理任意形状和大小的簇;
  2. 可在聚类的同时发现异常点;
  3. 与K-means比较起来,不需要输入要划分的聚类个数。

缺点:

  1. 对输入参数ε和Minpts敏感,确定参数困难;
  2. 由于DBSCAN算法中,变量ε和Minpts是全局唯一的,当聚类的密度不均匀时,聚类距离相差很大时,聚类质量差;
  3. 当数据量大时,计算密度单元的计算复杂度大。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值