【问题标题】:Fast pure Python implementation of k-means [closed]k-means的快速纯Python实现[关闭]
【发布时间】:2013-07-19 04:05:42
【问题描述】:

我希望在 Google App Engine 应用(专为 Google Glass 构建)上进行 k-means 聚类。 App Engine 仅接受纯 Python 库。

我尝试使用 SciPy 的 kmeanskmeans2 编辑为使用 py_vq 而不是 vq 的 C 实现,但它们在 ~500,000 x,y,z 点上花费的时间太长(~100 秒)我在 App Engine 日志中得到了 DeadlineExceededError

我已经将样本量减少了 90% 以节省内存限制,因此我不想再减少样本量。

是否有任何纯 Python k-means 库对 Google App Engine 来说足够快?

【问题讨论】:

标签: python google-app-engine cluster-analysis k-means


【解决方案1】:

如果您收到 DeadlineExceededError,请考虑使用后端。后端没有截止日期和可配置的内存限制(虽然不是很高,最大 1GB)。

见:https://developers.google.com/appengine/docs/python/backends/

【讨论】:

  • 谢谢!不知道这是一个选项
【解决方案2】:

嗯,C 实现肯定会比纯 python 实现快... 对于数字的东西,纯 python 可能真的很昂贵而且很慢。这就是为什么像 numpy 和 scipy 这样的 python 库在后端有很多用更快的语言实现的东西。

您也可以尝试限制迭代次数。 10 次迭代后的 k-means 结果可能与实践中的最终结果一样好。这是事情发生很大变化的第一次迭代。

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 2011-11-14
    • 2011-05-15
    • 2021-05-04
    • 2012-11-06
    • 2018-01-29
    • 2013-10-14
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多