基于两个初始给定群集的Kmeans可以找到更准确的群集

时间:2018-03-28 17:48:03

标签: python python-3.x pandas k-means

我在2D图表上显示的数据点如下所示。

1,1
1,2
2,1
2,2
3,3
8,8
9,8
8,9
9,9

编辑: Now, if I have two initial given clusters, let's say (1,1) and (2,1), I want to use K means to decide the clusters based on Euclidean Distances with termination condition of 3 iterations.

我的方法是创建一个pandas数据帧,应用带有2个簇的kmeans并记下质心。

import pandas as pd
df = pd.DataFrame({'x': [1,1,2,2,3,8,9,8,9], 
                   'y': [1,2,1,23,8,8,9,9]})
from sklearn.cluster import KMeans
kmeans = KMeans(2).fit(df.values)

但是,我被困住了。我如何定义自己的自定义功能。

我想将其迭代到下三次迭代,并记下计算以达到这三次迭代中的精确聚类。

由于

1 个答案:

答案 0 :(得分:1)

我了解您希望通过指定自定义质心以及前面的迭代次数来启动迭代的问题。

您可以使用:KMeans.cluster_centers_指定群集中心和初始群集,不幸的是,您必须适应它一次,然后继续覆盖群集中心

开始于:您可以为第一次运行指定n_init = 1,max_iter = 1的计算廉价值,然后在KMeans.fit(max_iter=3)覆盖这些集群中心后再次运行迭代。