在scikit-learn库

时间:2017-08-21 12:52:48

标签: python scikit-learn k-means

我有一个问题,我的代码需要很长时间才能执行。我正在使用python进行编码和scikit-learn作为机器学习库。我的问题是k-Means的计算需要很长时间才能完成(基本上我们有大约3000个数据点用于400个集群中的分组)。该方法重复约250次。至于计时,完成大约需要40分钟。关于如何加速它的任何建议? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果所有用例都能轻松加速,那么就可以实现。

我们不知道您的数据统计信息或您正在做什么,但您可能希望调整参数,尤其是:

  • 并行处理:n_jobs(仅线性加速;更多内存)
  • init-algorithm:init
  • 迭代次数:max_iter(线性加速;可能不太准确)
  • 开始次数:n_init(线性加速;可能不太准确)

如果内存允许,您也可以尝试:precompute_distances

但更重要的是:即使user-guide解释说你的用例不合适(太多集群)。

或尝试替代方案:Mini Batch K-Means