我正在尝试做k意味着在scikit中进行聚类学习。代码:
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters = 10)
x = df.values
kmeans.fit(x.reshape(-1, 1))
如果参数n_init = random
,它会选择随机的初始质心。有没有办法获取使用的初始质心?
答案 0 :(得分:2)
在将KMeans
对象插入数据后,您才能获得群集中心。
小技巧!
所以你可以做的是将参数max_iter
设置为1
。默认情况下,它设置为300
,然后中心可能会在每次迭代时更改。
如果您使用仅一次迭代,算法会将每个样本分配到初始中心,然后它将停止,而不是更新中心。
因此,调用.cluster_centers_
将返回初始质心!
答案 1 :(得分:-2)
是的,我认为您可以在致电centroids = kmeans.cluster_centers_
fit()