我试图在Mahout 0.5中运行kmeans示例,但失败了!我在kmeans.props中发现它需要一个奇怪的参数-c
,这意味着path_to_initial_clusters
。
这是什么东西?我该怎么做呢?
kmeans.props:
The following parameters must be specified
i|input = /path/to/input
c|clusters = /path/to/initial/clusters
答案 0 :(得分:0)
因此mahout不需要以特定格式输入来执行其聚类算法。 所以看看吧 seq2sparse ::文本序列文件中的稀疏矢量生成 seqdirectory ::从目录
生成(文本)序列文件作为路透社21587数据集的一个例子。
以下是步骤:
1.mahout seqdirectory -c UTF-8 -i examples / reuters-extracted / -o reuters-seqfiles
2.mahout seq2sparse -i reuters-seqfiles / -o reuters-vectors -ow
3.mahout kmeans -i reuters-vectors / tfidf-vectors / \ -c路透社 - 初始集群 -o reuters-kmeans-clusters \ -dm org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure \ -cd 1.0 -k 20 -x 20 -cl
希望有所帮助
答案 1 :(得分:0)
K-means需要初始聚类才能迭代更新质心(它是聚类的中心),直到收敛为止。
-c,path_to_initial_clusters要求您为mahout提供一个目录来存储其初始集群。
您可以指定mahout存储初始集群的任何路径,mahout将计算初始集群并存储在目录中。或者,您可以通过冠层聚类或其他方法计算初始聚类,并告诉mahout您已计算的初始聚类的目录,以初始化K-means聚类。