【发布时间】:2014-09-15 03:51:12
【问题描述】:
我一直在与 mini-batch k-means 合作,使用 scikit-learn 实现对大约 45000 个观测值的数据集进行聚类,每个观测值大约有 170 个特征。我注意到,随着 k 的增加,该算法无法返回指定数量的集群,如果 k 超过数据集中观察数量的 30%(45000 的 30%)并继续增加,则返回的集群数量确实不再增加。
我想知道这是否与算法在 scikit-learn 中实现的方式有关,或者它是否与它的定义有关。我一直在研究提出它的论文,但我不知道为什么会发生这种情况。
有人经历过吗?有谁现在如何解释这种行为?
【问题讨论】:
-
您使用的是哪个版本的 scikit-learn? batch_size 是多少?为了使算法正常工作,batch_size 应该显着大于集群的数量。你没有收到任何警告信息吗?
-
我总是使用比k大得多的batch_size,但我想如果k与数据集大小相比已经非常大,那么batch_size永远不会足够大。这可能是一种解释。
标签: cluster-analysis scikit-learn k-means