基本原理:
class sklearn.cluster.KMeans (n_clusters=8, init=’k-means++’, n_init=10, max_iter=300, tol=0.0001,
precompute_distances=’auto’, verbose=0, random_state=None, copy_x=True, n_jobs=None, algorithm=’auto’)
-
n_clusters:生成的聚类数,即产生的质心数。
-
init:有三个可选值:’k-means++’, ‘random’,或者传递一个ndarray向量。此参数指定初始化方法,默认值为 ‘k-means++’
- ‘k-means++’ 用一种特殊的方法选定初始质心从而能加速迭代过程的收敛(即上文中的k-means++介绍)
- random’ 随机从训练数据中选取初始质心。
- 如果传递的是一个ndarray,则应该形如 (n_clusters, n_features) 并给出初始质心。
-
n_init:k均值算法将在不同质心种子下运行的次数。就惯性而言,最终结果将是n_init个连续运行的最佳输出。
-
max_iter:单次运行的k均值算法的最大迭代次数。
-
tol:默认= 1e-4,关于Frobenius范数的相对容差,该范数表示两个连续迭代的聚类中心的差异,以声明收敛。
-
precompute_distances:三个可选值,‘auto’,True 或者 False
- ‘auto’:如果 样本数乘以聚类数大于 12million 的话则不预计算距离。
- True:总是预先计算距离。
- False:永远不预先计算距离。
-
verbose:详细模式。
-
random_state:用于初始化质心的生成器。如果值为一个整数,则确定一个seed。
-
copy_x:当我们precomputing distances时,将数据中心化会得到更准确的结果。如果把此参数值设为True,则原始数据不会被改变。如果是False,则会直接在原始数据
-
n_jobs:若值为 -1,则用所有的CPU进行运算。
-
algorithm:{“ auto”,“ full”,“ elkan”},默认=“ auto”
属性:
- cluster_centers_:向量,[n_clusters, n_features] (聚类中心的坐标)
- Labels_: 每个点的分类
- inertia_:每个点到其簇的质心的距离之和。
- n_iter_:运行的迭代次数。
Methods:
- fit(X[,y]):
计算k-means聚类。 - fit_predictt(X[,y]):
计算簇质心并给每个样本预测类别。 - fit_transform(X[,y]):
计算簇并 transform X to cluster-distance space。 - get_params([deep]):
取得估计器的参数。 - predict(X):predict(X)
给每个样本估计最接近的簇。 - score(X[,y]):
计算聚类误差 - set_params(**params):
为这个估计器手动设定参数。 - transform(X[,y]): 将X转换为群集距离空间。
在新空间中,每个维度都是到集群中心的距离。 请注意,即使X是稀疏的,转换返回的数组通常也是密集的。