第十讲 聚类模型
K-mens聚类
将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行评估、分析或者预测;也可以探究不同类之间的相关性和主要差异。
分类是已知类别的,聚类未知。
K-means聚类算法流程:
- 指定需要划分的簇的个数K值(类的个数)
- 随机地选择k个数据对下个作为初始的聚类中心
- 计算其余的各个数据对象到这k个初始聚类中心的距离,把数据对象划分为距离它最近的那个中心所在的簇类中
- 调整新类并且重新计算出新类的中心;
- 循环步骤三、四,看中心是否收敛不变,如果收敛或达到迭代次数则停止循环
- 结束
流程图
k-means算法的评价
优点:
- 算法简单,快速
- 对处理大数据集,该算法是相对高效率的
缺点: - 要求用户必须事先给出要生成的簇的数目k
- 对初值敏感
- 对于孤立点数据敏感
K-mean++算法
k-means++算法选择初始聚类中心的基本原则是:初始的聚类中心之间的相互距离要尽可能远。
流程:
- 随机选取一个样本作为第一个聚类中心
- 计算每个样本与当前已有聚类中心的最短距离(即与最近一个聚类中心的距离),这个数越大,表示被选取作为聚类中心的概率越大;最后,用轮盘法(依据概率大小来选取抽选)选出下一个聚类中心
- 重复第二步 ,直到选择k个聚类中心,选出初始点后,就继续使用标准的k-means算法。
操作: 分类 - > 聚类
所有变量通过spss进行标准化 消去量纲 可能结果会跟原来不一样
系统/层次聚类
系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合为一类,并生成聚类谱系图。
课程分类或者成绩分类
指标与指标之间的距离
例子
类与类之间的距离用重心法来定义的
方法
最短距离法
最长距离定义法
组间平均连接法
组内平均连接法
重心法
系统聚类流程图
最短距离系统聚类法
根据五个学生的六门课的成绩,对这五个学生进行分类
计算每两个学生的距离 (样品间的距离矩阵 欧氏距离)
将每一个样品看做是一个类
即G1 G2 G3 G4 G5 观察D(G1,G5) = 15.8 最小,故将G1与G5聚为一类,记为G6 ,计算新类与其余各类之间的距离,得到新的距离矩阵D1
聚类结果
聚类分析注意问题
- 对于一个实际问题要根据分类的目的来选取指标,指标选取不同分类结果一般也不同
- 样品间距离定义方式不同,聚类结果也一般不同
- 聚类方式的不同,聚类结果一般也不同(尤其是样品特别多的时候)。最好能够通过各种方法找出其中的共性
- 要注意指标的量纲,量纲差别太大会导致聚类结果不合理
- 聚类分析的结果可能不令人满意,因为我们所做的事一个数学的处理,对于结果我们要找到一个合理的解释。
流程
- 将每个对象看作一类,计算两两之间的最小距离
- 将距离最小的两个类合并为一个新类
- 重新计算新类与所有类之间的距离
- 重复二三两步,直到所有的类最后合并成一类
- 结束
spss的操作
标准化 需要知道怎么还原