python - 聚类十亿个项目(或哪些聚类方法在线性时间内运行?)

标签 python machine-learning

我有十亿个特征向量,我想将它们放入近似的簇中。查看来自 http://scikit-learn.org/stable/modules/clustering.html#clustering 的方法例如,我完全不清楚它们的运行时间如何随数据大小变化(亲和性传播除外,它显然太慢了)。

What methods are suitable for clustering such a large data set? I assume any method will have to run in O(n) time.

最佳答案

对于您的数据(仅 4 个分量),K 均值复杂度听起来合理。棘手的部分是初始化和集群数量的选择。您可以尝试不同的随机初始化,但这可能很耗时。另一种方法是对数据进行子采样并运行更昂贵的聚类算法,如亲和传播。然后使用该解决方案作为 k-means 的 init,并使用您的所有数据运行它。

关于python - 聚类十亿个项目(或哪些聚类方法在线性时间内运行?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594493/

相关文章:

python - 为反向遗传关系创建序列化器

python - 我如何知道哪个预测针对哪个数据?那么,如何评估预测呢?

python - 仅使用batch_size和仅使用steps_per_epoch的Keras model.fit之间的区别

java - 在 Java 中为 Maxent 分类器创建训练数据

python - 使用正则表达式仅从字符串中删除 anchor 标记

python - scipy.optimize.fsolve 中的输入/输出错误

python - 我的 Controller 逻辑在 Django 中放在哪里?

python - 如何在 Sphinx Alabaster 主题下编辑侧边栏

python - 在哪里可以找到 Keras 配置文件?

machine-learning - Tensorflow:确定药物剂量的用例