【问题标题】:Kmeans clustering time on scikitscikit 上的 Kmeans 聚类时间
【发布时间】:2014-07-20 21:31:35
【问题描述】:

使用具有 200 个聚类的 k-means 对一组 100'000 个 L2 归一化 2048-dim 特征向量进行聚类需要多长时间?我的所有数据都在一个巨大的 numpy 数组中,也许有更合适的数据结构?

它似乎在一个小时内没有任何进展。我也倾向于使用阈值停止标准,但仅 2 次迭代似乎需要超过 5 分钟。是否有某种详细的命令可以用来检查 scikit-learn 上 kmeans 聚类的进度?有没有人建议任何其他方法?也许像降维,或PCA,然后是kmeans? (我只是随意抛出一些想法)

【问题讨论】:

    标签: python-2.7 machine-learning scikit-learn k-means


    【解决方案1】:

    如果您还没有尝试过,请使用sklearn.cluster.MiniBatchKMeans 而不是sklearn.cluster.KMeans

    例如,如果X.shape = (100000, 2048),那么写

    from sklearn.cluster import MiniBatchKMeans
    mbkm = MiniBatchKMeans(n_clusters=200)  # Take a good look at the docstring and set options here
    mbkm.fit(X)
    

    【讨论】:

      猜你喜欢
      • 2015-02-20
      • 2015-11-20
      • 2019-11-29
      • 2016-11-16
      • 2019-11-12
      • 2015-09-28
      • 1970-01-01
      • 2020-02-13
      • 2013-11-18
      相关资源
      最近更新 更多