K-means聚类的算法流程:
一、指定需要划分的簇[cù]的个数K值(类的个数);
二、随机地选择K个数据对象作为初始的聚类中心 (不一定要是我们的样本点);
三、计算其余的各个数据对象到这K个初始聚类中心 的距离,把数据对象划归到距离它最近的那个中心所 处在的簇类中;
四、调整新类并且重新计算出新类的中心;
五、循环步骤三和四,看中心是否收敛(不变),如 果收敛或达到迭代次数则停止循环;
六、结束
优点:
(1)算法简单、快速。 (2)对处理大数据集,该算法是相对高效率的。
缺点:
(1)要求用户必须事先给出要生成的簇的数目K。 (2)对初值敏感。 (3)对于孤立点数据敏感。
K‐means++算法可解决2和3这两个缺点
k-means++算法选择初始聚类中心的基本原则是:初始的聚类中 心之间的相互距离要尽可能的远
步骤一:随机选取一个样本作为第一个聚类中心;
步骤二:计算每个样本与当前已有聚类中心的最短距离(即与最 近一个聚类中心的距离),这个值越大,表示被选取作为聚类中 心的概率较大;最后,用轮盘法(依据概率大小来进行抽选)选 出下一个聚类中心;
步骤三:重复步骤二,直到选出K个聚类中心。选出初始点后,就 继续使用标准的K-means算法了。
具体使用spss实现,--------分析-分类-kmeans分类