【问题标题】:Mahout - vectors to clusterMahout - 聚类的向量
【发布时间】:2013-01-10 19:23:15
【问题描述】:

我使用以下方法运行 K-Means:

KMeansDriver.run(new Path("./bd.seq.file"), new Path(clustersLoc), new Path("output"),
            new EuclideanDistanceMeasure(), 0.001, 10, true, 0.5, false);

我的目标是知道我的每个原始向量属于哪个集群。 据我了解,这应该在 output/clusteredPoints/part-m-00000 中,但是这个文件看起来像一个空的(120 字节)序列文件。

什么给了?

【问题讨论】:

  • 我刚刚发现的另一个线索。这只发生在 Mahout 0.7 上。所以,这要么是一个错误,要么是一个未记录的行为变化。在 Mahout 0.5 中,我在路径 output/clusteredPoints /part-m-00000 下获得了一个文件,其中包含向量到集群的映射 ...

标签: cluster-analysis mahout k-means


【解决方案1】:

好的,我终于明白了(至少部分明白了)。它与KMeansDriver.run() 8th 参数有关。 如果它的值为“0”,则其行为与 Mahout 0.5 中的相同。 参数的名称是“clusterClassificationThreshold”,它的 javadoc 声明:

是一个聚类严格性/异常值去除参数。它的价值 应该在 0 和 1 之间。具有低于此值的 pdf 的向量将 不会被聚类。

对于像我这样的 Mahout 初学者,pdf 是“概率密度函数”的首字母缩写。 我不确定我真的知道这个参数是什么(谷歌搜索在这里没有帮助,javadocs 就是你要得到的全部),但我想这是因为它是过滤 Mahout 开发人员选择的原始向量的机制的一部分如果不是'0',则禁用聚类点。

【讨论】:

    猜你喜欢
    • 2019-01-20
    • 2015-08-30
    • 2014-10-15
    • 2016-09-06
    • 2016-10-11
    • 2010-12-23
    • 1970-01-01
    • 2012-07-10
    • 2013-02-22
    相关资源
    最近更新 更多