GH.*_*iou 0 python cluster-analysis machine-learning k-means scikit-learn
我是 Python 初学者。现在,我试图了解sklearn.cluster.KMeans中的参数n_init是什么
从文档中:
n_init:整数,默认值:10
k-means 算法使用不同质心种子运行的次数。最终结果将是n_init连续运行中惯性方面的最佳输出。
起初,我认为这意味着代码运行的次数,直到我发现这个有用的问题,然后我意识到这就是max_iter所做的。
参数n_init到底有什么作用?我真的不明白。
在K-means中,质心的初始放置对其收敛起着非常重要的作用。有时,初始质心的放置方式使得在 K 均值的连续迭代期间,簇不断发生剧烈变化,甚至在收敛条件可能发生之前就max_iter达到了,我们留下了不正确的簇。因此,这样获得的聚类可能不正确。为了解决这个问题,引入了这个参数。的值n_iter基本上决定了算法应该使用多少组不同的随机选择的质心。对于每个不同的点集,对簇移动的距离进行比较,即,如果簇移动的距离短,那么我们很可能最接近地面实况/最佳解决方案。返回提供最佳性能的点及其各自的运行以及所有集群标签。
如果你有兴趣,还可以看看专门为处理这个问题而设计的k-means++算法。
您还可以查看此链接以获取有关初始质心问题的更多详细信息。
| 归档时间: |
|
| 查看次数: |
12867 次 |
| 最近记录: |