我正在使用 mahout 对使用 solr 索引的文本文档进行聚类。
我已经使用文档中的“文本”字段来形成向量。然后我使用 mahout 中的 k-means 驱动程序进行聚类,然后使用 clusterdumper 实用程序转储结果。
我很难理解自卸车的输出结果。我可以看到这些集群中的术语向量形成的集群。但是如何从这些集群中提取文档。我希望结果是出现在不同集群中的输入文档。
我也有这个问题。这个想法是集群转储器用点等转储所有集群数据。你有两个选择:
String clusterInfo = String.format("Cluster %d (%d) with %d points.\n", value.getId(), clusterCount, value.getNumPoints());
writer.write(clusterInfo);
writer.write('\n');
// list all top terms
if (dictionary != null) {
String topTerms = getTopFeatures(value.getCenter(), dictionary, numTopFeatures);
writer.write("\tTop Terms: ");
writer.write(topTerms);
writer.write('\n');
}
// list all the points in the cluster
List points = clusterIdToPoints.get(value.getId());
if (points != null) {
writer.write("\tCluster points:\n\t");
for (Iterator iterator = points.iterator(); iterator.hasNext();) {
WeightedVectorWritable point = iterator.next();
writer.write(String.valueOf(point.getWeight()));
writer.write(": ");
if (point.getVector() instanceof NamedVector) {
writer.write(((NamedVector) point.getVector()).getName() + " ");
}
}
writer.write('\n');
}