聚类算法K-means

Posted AI研发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聚类算法K-means相关的知识,希望对你有一定的参考价值。

聚类算法K-means

聚类问题是数据挖掘的基本问题,它的本质是将n个数据对象划分为k个聚类,以便使得所获得的聚类满足以下条件:同一聚类中的数据对象相似度较高;不同聚类中的对象相似度较小。相似度可以根据问题的性质进行数学定义。


K-means(也叫K均值)算法就是解决这类问题的经典聚类算法。它的基本思想是以空间中k个点为中心,进行聚类,对最靠近他们的对象归类,通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。

聚类算法K-means


算法的基本步骤为:

1. 从 n个数据对象任意选择k 个对象作为初始聚类中心;并设定最大迭代次数 。

2. 计算每个对象与k个中心点的距离,并根据最小距离对相应对象进行划分,即,把对象划分到与他们最近的中心所代表的类别中去; 

3. 对于每一个中心点,遍历他们所包含的对象,计算这些对象所有维度的和的均值,获得新的中心点; 

4. 如果聚类中心与上次迭代之前相比,有所改变,或者,算法迭代次数小于给定的最大迭代次数,则继续执行第2 、3两步,否则,程序结束返回聚类结果。

聚类算法K-means

以下是K-means算法的运行过程,编程语言为Python:

聚类算法K-means


运行程序,下面依次是将数据聚为两类、三类、四类的程序结果图。


聚类算法K-means


大家也可以通过调整迭代次数,观察生成簇的变化。



更多AI算法请关注下期AI研发!


(以上图片来自网络)




以上是关于聚类算法K-means的主要内容,如果未能解决你的问题,请参考以下文章

[聚类算法] K-means 算法

k-means聚类算法原理简析

聚类算法(K-means聚类算法)

聚类算法K-均值聚类(K-Means)算法

聚类算法K-Means原理及实现

基于K-means聚类算法的图像分割