聚类,是指有一堆数据,不知道他们应该怎么分类,用算法将他们聚到一起进行分类。
K-means聚类算法是聚类算法中最基础的一个算法,虽然基础,但由于其出色的性能和相对较好的效果,至今依然是主流的聚类算法之一。
K-means原理
首先,我们有一堆数据,如下图:
我们能看出来数据大概能分成如下三组,在聚类中称为“簇”
具体如何分呢?
Step1:随机选择K个数据点作为初始聚类中心,比如我们想把这个数据分成3类,就先随机找三个点作为中心
Step2:然后将每个数据点分配给最近的聚类中心,从而形成3个簇,就是上图中的绿色、紫色、黄色三个簇
Step3:基于当前的簇,重新计算每个簇的中心。这通常通过计算每个簇内所有点的均值来完成。再将我们的中心移动到计算出来的簇的中心,如下图