如何手动设置K-means集群的中心?

时间:2016-05-02 18:53:00

标签: python scikit-learn k-means

我不想预测中心,而是将每个对象分配给已定义的中心。我怎么能?

2 个答案:

答案 0 :(得分:1)

您可能还想查看Scipy中的KMeans实施。参数minit接受矩阵和

  

将[参数] k参数解释为k乘以M(或一维数据的长度k数组)初始质心数组。

答案 1 :(得分:0)

执行此操作的一种方法是使用n_init模块的random_statesklearn.cluster.KMeans参数,如下所示:

from sklearn.cluster import KMeans

c = KMeans(n_init=1, random_state=1)

这有两件事: 1)random_state=1将质心种子设置为1.这与专门选择所需质心的坐标不完全相同,但它确实允许您控制和重现种子。

2)n_init=1将迭代次数设置为1,这意味着您将集群尝试仅限于您在random_state步骤中自己选择的种子。

您还可以使用n_clusters参数选择要创建的质心数。

从这里开始,拟合和预测会将点分配给您预先建立的不同群集。