k-means算法
一、算法概述
k-means中的k指的是数据聚成多少个簇,而means指的是根据簇的均值来确定簇中心,从而计算每个实例到每个簇的距离。
k-means聚类算法是一种无监督聚类算法,之前我们讲过KNN(K最近算法),是一种有监督的分类算法,其实本质上,KNN和K-means聚类算法,大同小异,与之不一样的地方在于,KNN是计算该实例到每个实例的距离,最后得出其自己的类别;而K-means聚类,是无监督的,是计算每个实例与聚类中心的距离,然后将该实例划分到与聚类中心近的那一类别,重复数次,直到聚类中心不再变化。
二、k-means算法原理
k-means的算法原理很简单,对于给定的数据集,假设我们想要把数据分成k类,即k个类簇,则有:
1)随机从数据集中选取k个点作为初始的聚类中心;(或者随机取k个点作为初始的聚类中心)
2)计算数据集中每个实例点到k个聚类中心的距离,然后将该实例点分到最近的聚类中,这样就得到了k个簇;
3)根据聚成的k个簇,重新计算每个簇的聚类中心;
4)重复上述2-3步,直到k个簇的聚类中心不再变化,或者迭代一定的次数之后,即可停止。
三、算法小例子
假设现在我们有数据集,如上图
K-means聚类算法
最新推荐文章于 2025-04-15 23:09:39 发布