1

我使用以下方法运行 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 字节)序列文件。

是什么赋予了?

4

1 回答 1

1

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

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

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

于 2013-01-27T12:53:42.887 回答