比较并行k-means批次与小批量速度

时间:2015-01-16 15:55:55

标签: scikit-learn

我正在尝试使用k-means聚类1000维,250k向量。我正在使用的机器有80个双核。

只是确认,如果有人比较k-means默认批量并行版本的运行时间与k-means迷你批量版本?由于数据集非常小,因此sklean文档上的example comparison page并未提供太多信息。

非常感谢您的帮助。

此致

1 个答案:

答案 0 :(得分:1)

Conventional wisdom认为Mini-Batch K-Means对于超过10,000个样本应该更快,更有效。由于您有250,000个样本,如果您不想自己测试,则应该使用小批量。

请注意,通过更改此行中的n_samples,可以非常轻松地将example you referenced更改为5000,10,000或20,000点示例:

X, labels_true = make_blobs(n_samples=3000, centers=centers, cluster_std=0.7)

我同意这不一定必须在1000维矢量上进行相同的缩放,但是因为您正在构建示例并使用k-meansmini batch k-means并且只需要一秒钟在它们之间切换......你应该对你的1000维向量进行5k,10k,15k,20k样本的缩放研究。

理论上,没有理由Mini-Batch K-Means由于矢量维度而导致K-Means表现不佳,而且我们知道它对于更大的样本量会更好,所以我会选择迷你批量的袖珍,例如对研究采取行动的偏见。