我是机器学习的新手,想知道scipy中的kmeans和kmeans2之间的区别.根据文档,他们都使用'k-means'算法,但如何选择它们?
根据文档,似乎kmeans2是标准的k-means算法,并且一直运行直到收敛到局部最优 - 并允许您更改种子初始化.
kmeans函数将基于缺乏变化而提前终止,因此它甚至可能无法达到局部最优.此外,它的目标是生成用于将特征向量映射到的码本.码本本身不一定是从停止点生成的,而是使用具有最低"失真"的迭代来生成码本.此方法还将多次运行kmeans.文档更具体.
如果您只想将k-means作为算法运行,请选择kmeans2.如果您只想要一本码本,请选择kmeans.