Mahout - 聚类的向量
Posted
技术标签:
【中文标题】Mahout - 聚类的向量【英文标题】:Mahout - vectors to cluster 【发布时间】: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 下获得了一个文件,其中包含向量到集群的映射 ... 【参考方案1】:好的,我终于明白了(至少部分明白了)。它与KMeansDriver.run()
8th 参数有关。
如果它的值为“0”,则其行为与 Mahout 0.5 中的相同。
参数的名称是“clusterClassificationThreshold”,它的 javadoc 声明:
是一个聚类严格性/异常值去除参数。它的价值 应该在 0 和 1 之间。具有低于此值的 pdf 的向量将 不会被聚类。
对于像我这样的 Mahout 初学者,pdf 是“概率密度函数”的首字母缩写。 我不确定我真的知道这个参数是什么(谷歌搜索在这里没有帮助,javadocs 就是你要得到的全部),但我想这是因为它是过滤 Mahout 开发人员选择的原始向量的机制的一部分如果不是'0',则禁用聚类点。
【讨论】:
以上是关于Mahout - 聚类的向量的主要内容,如果未能解决你的问题,请参考以下文章