我是机器学习新手,想知道scipy库中kmeans和kmeans2之间的区别。根据文档,它们都使用“k-means”算法,但该如何选择使用哪个呢?
根据文档,kmeans2似乎是标准的k-means算法,并且会一直运行直到收敛到局部最优解,同时允许您更改种子初始化。
kmeans函数将基于变化量提前终止,因此可能甚至无法达到局部最优解。此外,它的目标是生成一个代码簿以将特征向量映射到其中。代码簿本身不一定是从停止点生成的,但将使用具有最低“畸变度”的迭代来生成代码簿。此方法也会多次运行kmeans。文档详细说明了更多细节。
如果您只想作为算法运行k-means,请选择kmeans2。如果您只想要一个代码簿,请选择kmeans。