Mahout 聚类:使用 seqdumper 检索命名向量的名称时出错
Posted
技术标签:
【中文标题】Mahout 聚类:使用 seqdumper 检索命名向量的名称时出错【英文标题】:Mahout clustering: Error in retrieving the name of a named vector using seqdumper 【发布时间】:2016-10-11 02:23:06 【问题描述】:我正在使用 mahout 在包含 12 个文档的目录上进行 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,".........
我在上面的输出中没有得到矢量 ID。
请帮助我在输出中也获取矢量 ID!
【问题讨论】:
【参考方案1】:在将序列文件转换为矢量时使用“--namedVector true”。
【讨论】:
【参考方案2】:当我尝试这个时,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
Mohammad 在How to read Mahout clustering output 中指出了这一点
【讨论】:
以上是关于Mahout 聚类:使用 seqdumper 检索命名向量的名称时出错的主要内容,如果未能解决你的问题,请参考以下文章