【发布时间】:2020-04-09 17:26:02
【问题描述】:
通过使用“kmeans.cluster_centers_”,我得到了每个集群的最终质心,但是如果我想跟踪所有迭代的所有质心并将结果存储到一个列表中该怎么办。
【问题讨论】:
标签: python machine-learning scikit-learn data-science sklearn-pandas
通过使用“kmeans.cluster_centers_”,我得到了每个集群的最终质心,但是如果我想跟踪所有迭代的所有质心并将结果存储到一个列表中该怎么办。
【问题讨论】:
标签: python machine-learning scikit-learn data-science sklearn-pandas
Scikit-learn 不会为您提供中间结果,也无法通过标准 API 来做到这一点。 获取它们的一种巧妙方法是使用以下方法:
k_means = KMeans(max_iter=1)
for i in range(300):
k_means.fit(X)
intermediate_centers = k_means.cluster_centers_
k_means = KMeans(max_iter=1, init=intermediate_centers)
这不是一个快速的方法,我不建议在生产环境中运行它。
【讨论】:
sklearn.cluster.MiniBatchKMeans 和 partial_fit 方法,其中 X 一次是一个样本。它将避免重新创建 KMeans 的实例并初始化质心。