我想要使用Mahout对多个文档进行集群。聚类工作正常,但我不知道如何找出哪些文档位于每个群集中。Mahout集群:如何检索命名向量的名称
我读过创建稀疏文件时可以使用选项--namedVector
,但是它从哪里获取ID以及在集群完成后如何检索此ID?
现在我做以下步骤:
我有每个文档文件的目录。该文件与文件的ID为文件名的格式如下:
./mahout seqdirectory -i tmp/es-out -o tmp/es-out-seqdir -c UTF-8 -chunk 64 -xm sequential
./mahout seq2sparse -i tmp/es-out-seqdir -o tmp/es-out-sparse --maxDFPercent 85 --namedVector
然后我可以群集的结果,并创建转储:
filename: documentID.txt
[TITLE]
[CONTENT]
我使用创建一个稀疏目录中namedVectors:
./mahout kmeans -i tmp/es-out-sparse/tfidf-vectors -c tmp/es-kmeans-clusters -o tmp/es-kmeans -dm org.apache.mahout.common.distance.EuclideanDistanceMeasure -x 10 -k 20 -ow --clustering
./mahout clusterdump -i tmp/es-kmeans/clusters-10-final -o tmp/clusterdump -d tmp/es-out-sparse/dictionary.file-0 -dt sequencefile -b 100 -n 20 --evaluate -dm org.apache.mahout.common.distance.EuclideanDistanceMeasure -sp 0 --pointsDir tmp/es-kmeans/clusteredPoints
转储看起来是这样的:
:VL-190{n=1 c=[1:3.407, 110:6.193, 2007:3.736, about:1.762, according:2.948, account:3.507, acting:6.
Top Terms:
epa => 13.471728324890137
mountaintop => 11.364262580871582
mine => 10.942587852478027
Weight : [props - optional]: Point:
[...]
好的,但选择不同的聚类算法应该导致同样的问题,我想获得群集中所有文档的ID。 – fwind
没有一个不同的,更好的工具。 Mahout只是不太适合集群。它建立在推荐系统之上 - 这正是开发者所关心的。没有人对聚类感兴趣。 –
我知道这不是这份工作的最佳工具。 但只是为了清楚。您是说使用Mahout无法获取群集的文档? – fwind