基本原理:
事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每个样本与质心之间的相似度(欧氏距离),将样本点归到最相似的类中,接着重新计算每个类的质心(即为类中心),重复这样的过程,知道质心不再改变,最终确定了每个样本所属的了别以及每个类的质心。由于每次都要计算所有样本与每一个质心之间的相似度,故在大规模的数据集上,K-Means算法的收敛速度比较慢。
注意:K-Means算法一定会收敛。
python实现:from sklearn.cluster import MiniBatchKMeans / K_means 参数:n_clusters(产生质心的个数)、max_iter(最大迭代次数).
MiniBatchKMeans:在每次更新质心时取部分点,而不是全部点。
来源:https://www.bilibili.com/video/BV1jb411p7ZF?p=6