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

Python 如何手动设置K-means群集的中心?,python,scikit-learn,k-means,Python,Scikit Learn,K Means,我不想预测中心,而是将每个对象指定给已定义的中心。我该怎么做?一种方法是使用sklearn.cluster.KMeans模块的n_init和random_state参数,如下所示: from sklearn.cluster import KMeans c = KMeans(n_init=1, random_state=1) 这有两个作用: 1 random_state=1将质心种子设置为1。这与具体选择所需质心的坐标并不完全相同,但它确实允许您控制和复制种子 2 n_init=1将迭代次数设

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

一种方法是使用sklearn.cluster.KMeans模块的n_init和random_state参数,如下所示:

from sklearn.cluster import KMeans

c = KMeans(n_init=1, random_state=1)
这有两个作用: 1 random_state=1将质心种子设置为1。这与具体选择所需质心的坐标并不完全相同,但它确实允许您控制和复制种子

2 n_init=1将迭代次数设置为1,这意味着您将仅将集群尝试限制为您在随机_状态步骤中选择的种子

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


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

您可能还想看看中的KMeans实现。参数minit接受一个矩阵和

对于初始质心的一维数据数组,将[s]k参数解释为k×M或长度k数组


你的意思是要手动选择每个群集中心并将每个点分类到最近的中心吗?是的,Phillip,我可能在寻找错误的方法。这里的新手…我不知道scikit learn是否能做到这一点,但您可以很容易地自己实现这一点。手动选择中心,为每个点计算距离每个中心的距离,为每个点选择最近的中心,现在您已经进行了分类。但这并不能让我们控制质心的确切位置。。。正当在这种情况下没有多大用处。