Mahout群集:使用seqdumper检索命名向量的名称时出错

时间:2016-06-10 07:49:21

标签: k-means mahout

我在以下命令的帮助下,在包含12个文档的目录上使用mahout进行k-means聚类:

mahout seq2sparse -i /user/manisha1414/dir_001-seqfiles -o /user/manisha1414/dir_001-vectors --maxDFPercent 85 --namedVector
mahout seqdumper -i /user/manisha1414/dir_001-kmeans-clusters/clusteredPoints/part-m-00000 > ./dir_001-cluster-docs.txt

我收到以下输出

Key: 0: Value: wt: 1.0 distance: 47.44299700930014  vec: [{"0":2.386},{"2":1.875},{"9":2.386},{"14":2.386......... 
Key: 11: Value: wt: 1.0 distance: 217.4603558919857  vec: [{"0":2.386},{"2":1.875},{".........

我没有在上面的输出中获得vector-id。

请帮助我在输出中获取vector-id !!

2 个答案:

答案 0 :(得分:0)

使用" - namedVector true"将您的序列文件转换为矢量。

答案 1 :(得分:0)

当我尝试这个时,seqdumper 没有包含命名向量。除了设置 --namedVector 之外,解决方法是使用 clusterdump。需要使用“-of CSV”设置输出格式,因为默认文本输出格式也不保存命名向量。

mahout clusterdump -d /user/manisha1414/docs-vectors/dictionary.file-0 -i /user/manisha1414/dir_001-kmeans-clusters/clusters-3-final -o clusters.csv -p /user/manisha1414/dir_001-kmeans-clusters/clusteredPoints -dt sequencefile -b 100 -n 20 -of CSV --evaluate

穆罕默德在How to read Mahout clustering output

中指出了这一点