【问题标题】:Clustering classifier and clustering policy聚类分类器和聚类策略
【发布时间】:2014-05-03 00:18:06
【问题描述】:

我在 mahout 中使用了 K-means 算法,在调试时,我注意到在创建第一个集群时它会执行以下代码:

ClusteringPolicy policy = new KMeansClusteringPolicy(convergenceDelta);
ClusterClassifier prior = new ClusterClassifier(clusters, policy);
prior.writeToSeqFiles(priorClustersPath); 

我正在阅读这些课程的描述,但我并不清楚......

我想知道这些集群分类器和策略的含义是什么? 它与层次聚类、基于质心的聚类、基于分布的聚类有关吗 聚类等?

因为我不知道在使用 K-means mahout 实现时使用这个集群分类器和策略有什么好处或原因。

【问题讨论】:

    标签: cluster-analysis mahout k-means


    【解决方案1】:

    该实现与其他 k-means 变体和类似算法(例如 Canopy 预聚类和 GMM)共享代码。

    这些类只编码这些算法之间的差异。

    Mahout 不是学习 k-means 算法的好地方,实现相当混乱。它也很慢。就像真的很慢一样。大多数情况下,单个 CPU 实现将在任何适合内存的方面完全击败 Mahout。甚至可能在单台机器的磁盘上。因为所有的 map-reduce 开销。

    【讨论】:

    • 非常感谢! Anony-Mousse,现在我明白了这项政策的原因。然后我将阅读其他 K-means 实现,例如 R 和 Weka。您能否详细解释一下这个 map-reduce 开销?
    • 顺便说一句,在上一篇文章中,您向我推荐了单 CPU 的 ELKI 或 scipy 实现。但是你知道一些其他的并行 k-means 实现吗?谢谢
    • 我不知道有一个。我认为 k-means 不够有趣。请参阅:这是一种统计方法。在更大的数据上,结果仍然是相同的,除了一点点精度。 大数据 k-means 完全没用。
    猜你喜欢
    • 2015-01-11
    • 2021-12-31
    • 2012-07-30
    • 2017-10-02
    • 2012-07-18
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多