我试图从SkLearn
中使用Kmeans算法构建一组数据。我想知道如何确定算法是否实际收敛到数据解决方案。Sklearn K表示聚类收敛
我们提供tol
参数来定义收敛容差,但也有一个参数定义了算法为每次运行执行的迭代次数。我发现该算法可能并不总是在迭代的max_iter
时间内收敛。那么是否有任何属性或函数可以访问,以便知道算法是否在迭代之前收敛?
我试图从SkLearn
中使用Kmeans算法构建一组数据。我想知道如何确定算法是否实际收敛到数据解决方案。Sklearn K表示聚类收敛
我们提供tol
参数来定义收敛容差,但也有一个参数定义了算法为每次运行执行的迭代次数。我发现该算法可能并不总是在迭代的max_iter
时间内收敛。那么是否有任何属性或函数可以访问,以便知道算法是否在迭代之前收敛?
您可以访问KMeans
类的n_iter_
领域,你叫fit
(或其他例程内部调用fit
后,它被设置。
不是你的错,因为它不是文档的一部分,我只是通过检查源代码找到它;)
当我问到我正在使用类KMeans
的问题时[http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html].This没有任何函数或属性允许您访问算法的每个运行的n_iter
。相反,我们可以使用函数k_means
[http://scikit-learn.org/stable/modules/generated/sklearn.cluster.k_means.html]而不是具有可以返回最佳n_iter
的选项的类。但是,这可能有其自身的复杂性就像写predict
自行等等,
谢谢。我现在明白,文档不是一切。从现在开始,我将习惯于阅读源代码。 – Kanmani
公平地说,它不应该是这样的...... – Lagerbaer
虽然这是真的。 – Kanmani