一、k-mean算法介绍
1.主要思想:在给定聚类簇数(K值)【n_clusters】和K个初始类簇中心(通常从数据集中随机选取k个数据)的情况下,历遍数据集中的每个数据点,而数据点距离哪个类簇中心(cluster centers)最近,就把该数据点分配到这个类簇中心点所代表的类簇中;所有数据点分配完毕之后,根据类簇内的所有点重新计算每个类簇的中心点(计算簇中的所用点的均值并将均值作为新的簇质心),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数【max_iter】。
注意:簇中心=簇质心
2.算法使用说明:
优点:容易实现
缺点:可能收敛到局部最小值(受到初始簇中心的影响),在大规模数据集上收敛较慢(每次迭代均需要历遍数据集中的每一个数据样本,且迭代次数默认值为300)
使用数据类型:数值型数据
二、sklearn库的使用:
关于如何使用sklearn.cluster.KMeans的官方文档:
http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans
在scikit-learn中,包括两个K-Means的算法,一个是传统的K-Means算法,对应的类是KMeans。
另一个是基于采样的Mini Batch K-Means算法,对应的类是MiniBatchKMeans。
1.1 KMeans类主要参数
sklearn.cluster.KMeans()
参数说明: