K-means算法
概念:K-means中K代表的类,means代表中心。K-means属于非监督学习,是聚类算法。
算法过程:
- 从N个样本数据中随机选取K个对象作为初始的聚类中心。
- 分别计算每个样本到这各个聚类中心的距离,并将对象归于距离最短的聚类群中。
- 所有样本计算完后,重新计算K个聚类中心。可以通过计算类所有数据特征的均值,来确定新的聚类中心。
- 与前一次计算得到得聚类中心比较。如果聚类中心没有改变,则进行步骤5。若聚类中心改变了,则重复步骤2.
- 当质心不发生变化时停止输出聚类结果。
对于连续数据,聚类中心取该簇的均值。
对于分类变量,均值可能无定义,可以使用K-众数方法。
对象名 | 函数功能 | 所属工具箱 |
---|---|---|
KMeans | K均值聚类 | sklearn.cluster |
Affinity Propagation | 吸引力传播聚类 | sklearn.cluster |
K-means 在sklearn中的应用,注:因为k-means是聚类,故提供的数据不需要带有标签。
from sklearn.cluster