我当前正在尝试查看从n_init的每次迭代确定的KMeans的每次迭代创建的质心(集群中心)。到目前为止,我已经能够查看最终结果,但是我希望在每次迭代中都能看到这些结果,因此我能够报告在每次迭代中使用init ='random'和预设聚类中心时KMeans的差异。以下是我目前拥有的简短示例 \
#Creating model for Kmeans
Model=[]
Model=KMeans(n_clusters=5,max_iter=10,n_init=10)
#Data trials below represents my data for model training
Model.fit(Data_Trials)
#Get Created Clusters
labels=Model.predict(Data_Trials)
inertia=Model.inertia_
### Gets created Cluster centroids for Final iteration of n_init
zTrial=pd.DataFrame(Model.cluster_centers_)
如果有人知道如何在每次迭代中获取此代码,我将不胜感激。
答案 0 :(得分:0)
您可以反复进行游戏。以这个12点示例为例
kmeans = KMeans(n_clusters=3, random_state=0,max_iter=1).fit(X)
kmeans.predict([[0, 0], [2, 2],[6, 4]])
一次迭代
kmeans.cluster_centers_
array([[ 2.75 , 0.5 ],
[ 1.83333333, 3.16666667],
[ 1. , 8.5 ]])
因此我们拥有
kmeans = KMeans(n_clusters=3, random_state=0,max_iter=10).fit(X)
kmeans.cluster_centers_
array([[ 1. , 8.5 ],
[ 2.75 , 0.5 ],
[ 1.83333333, 3.16666667]])
如果增加迭代次数
<div class="fieldWrapper">
{{ form.subject.errors }}
<div class="labelWrapper"><label for="{{ form.subject.id_for_label }}">Email subject:</label></div>
{{ form.subject }}
</div>