K-means聚类算法

流程

0 数据标准化(量纲不同时)
1 指定需要划分的簇[cù]的个数K值(类的个数);
2 随机地选择K个数据对象作为初始的聚类中心(不一定要是我们的样本点);
3 计算其余的各个数据对象到这K个初始聚类中心的距离,把数据对象划归到距离它最近的那个中心所处在的簇类中;
4 调整新类并且重新计算出新类的中心;
5 循环步骤三和四,看中心是否收敛(不变),如
果收敛或达到迭代次数则停止循环;
6 结束。
(7) 将结果中标准化的数据还原

原理的可视化

notion image

算法流程图

算法在论文中出现应使用流程图的形式
notion image

优劣

优点:
(1)算法简单、快速。
(2)对处理大数据集,该算法是相对高效率的。
缺点:
(1)要求用户必须事先给出要生成的簇的数目K。
(2)对初值敏感。
(3)对于孤立点数据敏感。

K-means++算法

K-means++算法可解决K-means算法2和3两个缺点
k-means++算法选择初始聚类中心的基本原则是:初始的聚类中心之间的相互距离要尽可能的远。

算法描述

(只对K-means算法“初始化K个聚类中心” 这一步进行了优化)
步骤零:数据标准化
步骤一:随机选取一个样本作为第一个聚类中心;
步骤二:计算每个样本与当前已有聚类中心的最短距离(即与最近一个聚类中心的距离),这个值越大,表示被选取作为聚类中心的概率较大;最后,用轮盘法(依据概率大小来进行抽选)选出下一个聚类中心;
步骤三:重复步骤二,直到选出K个聚类中心。选出初始点后,就继续使用标准的K-means算法了。

K-means算法的一些讨论

(1)聚类的个数K值怎么定?
答:分几类主要取决于个人的经验与感觉,通常的做法是多尝试几个K值,看分成几类的结果更好解释,更符合分析目的等。
(2)数据的量纲不一致怎么办?
答:如果数据的量纲不一样,那么算距离时就没有意义。例如:如果X1单位是米,X2单位是吨,用距离公式计算就会出现“米的平方”加上“吨的平方”再开平方,最后算出的东西没有数学意义,这就有问题了。
z标准化:
注意最后将结果中标准化的数据还原

使用SPSS操作聚类算法

清风第十讲第一部分
 

Loading...
公告
🎉大学生科技协会(2024)网站试运行🎉
-- 感谢您的支持 --- 科协获:
小平科技创新团队 (青少年科技创新领域国家级最高荣誉,全校唯一)
全国高校百强社团 中国大学生ican物联网创新创业实践教育基地 校十佳社团 “一院一品”智能空间 科技竞赛优秀组织单位
阅读科协简介了解更多吧!