【问题标题】:What's the difference between kmeans and kmeans2 in scipy?scipy中的kmeans和kmeans2有什么区别?
【发布时间】:2014-01-06 19:23:52
【问题描述】:

我是机器学习的新手,想知道 scipy 中的 kmeans 和 kmeans2 之间的区别。根据文档他们都使用'k-means'算法,但是如何选择它们呢?

【问题讨论】:

    标签: python machine-learning scipy k-means


    【解决方案1】:

    根据文档,kmeans2 似乎是标准的 k-means 算法,并且会一直运行直到收敛到局部最优 - 并允许您更改种子初始化。

    kmeans 函数将由于缺乏变化而提前终止,因此它甚至可能无法达到局部最优。此外,它的目标是生成将特征向量映射到的码本。码本本身不一定是从停止点生成的,而是会使用具有最低“失真”的迭代来生成码本。此方法还将多次运行 kmeans。该文档进入更多细节。

    如果您只想将 k-means 作为算法运行,请选择 kmeans2。如果您只想要一个密码本,请选择 kmeans。

    【讨论】:

    • 感谢您的回答。我正在尝试生成一个码本,但是当我使用“kmeans”时,码本的长度小于指定的“k”。它是有线的,你知道吗?
    猜你喜欢
    • 2014-10-07
    • 2018-05-31
    • 2016-01-11
    • 2013-07-11
    • 2013-12-14
    • 2020-03-28
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    相关资源
    最近更新 更多