K在scikit learn中表示聚类

K means clustering in scikit learn

我正在尝试在 scikit learn 中进行 k 表示聚类。代码:

from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters = 10)
x = df.values
kmeans.fit(x.reshape(-1, 1))

如果参数n_init = random,则选择随机初始质心。有没有办法获取使用的初始质心?

是的,我假设您可以在调用 fit()

之前尝试 centroids = kmeans.cluster_centers_

您只能在将 KMeans 对象拟合到您的数据后才能获得聚类中心。

小动作!

所以你可以做的就是将参数 max_iter 设置为 1。默认情况下,它设置为 300,然后中心可能会在每次迭代时发生变化。

如果您只使用一次迭代,算法会将每个样本分配给一个初始中心,然后它会停止,不会更新中心。

因此调用 .cluster_centers_ 将返回初始质心!