mahout lucene 文档聚类howto?

Posted

技术标签:

【中文标题】mahout lucene 文档聚类howto?【英文标题】:mahout lucene document clustering howto? 【发布时间】:2010-12-23 04:41:54 【问题描述】:

我读到我可以从 lucene 索引创建 mahout 向量,该索引可用于应用 mahout 聚类算法。 http://cwiki.apache.org/confluence/display/MAHOUT/Creating+Vectors+from+Text

我想在我的 Lucene 索引中的文档中应用 K-means 聚类算法,但不清楚如何应用此算法(或层次聚类)来提取这些文档中有意义的聚类。

在这个页面http://cwiki.apache.org/confluence/display/MAHOUT/k-Means 表示该算法接受两个输入目录:一个用于数据点,一个用于初始集群。我的数据点是文件吗?我如何“声明”这些是我的文档(或它们的向量),只需将它们进行聚类?

对不起,我的语法不好

谢谢

【问题讨论】:

【参考方案1】:

如果你有向量,你可以运行 KMeansDriver。这是相同的帮助。

Usage:
 [--input <input> --clusters <clusters> --output <output> --distance <distance>
--convergence <convergence> --max <max> --numReduce <numReduce> --k <k>
--vectorClass <vectorClass> --overwrite --help]
Options
  --input (-i) input                The Path for input Vectors. Must be a
                                    SequenceFile of Writable, Vector
  --clusters (-c) clusters          The input centroids, as Vectors.  Must be a
                                    SequenceFile of Writable, Cluster/Canopy.
                                    If k is also specified, then a random set
                                    of vectors will be selected and written out
                                    to this path first
  --output (-o) output              The Path to put the output in
  --distance (-m) distance          The Distance Measure to use.  Default is
                                    SquaredEuclidean
  --convergence (-d) convergence    The threshold below which the clusters are
                                    considered to be converged.  Default is 0.5
  --max (-x) max                    The maximum number of iterations to
                                    perform.  Default is 20
  --numReduce (-r) numReduce        The number of reduce tasks
  --k (-k) k                        The k in k-Means.  If specified, then a
                                    random selection of k Vectors will be
                                    chosen as the Centroid and written to the
                                    clusters output path.
  --vectorClass (-v) vectorClass    The Vector implementation class name.
                                    Default is SparseVector.class
  --overwrite (-w)                  If set, overwrite the output directory
  --help (-h)                       Print out help

更新:从 HDFS 获取结果目录到本地 fs。然后使用 ClusterDumper 实用程序获取集群和该集群中的文档列表。

【讨论】:

是的,我无法理解。输出是什么?我如何在输出中查看例如文档 5 和 8 在同一个集群上?【参考方案2】:

这里有一个很好的方法: integrating apache mahout with apache lucene

【讨论】:

【参考方案3】:

@麦基 您可以在此页面中阅读有关读取输出和使用 clusterdump 实用程序的更多信息 -> https://cwiki.apache.org/confluence/display/MAHOUT/Cluster+Dumper

【讨论】:

以上是关于mahout lucene 文档聚类howto?的主要内容,如果未能解决你的问题,请参考以下文章

无法获得聚类输出 Mahout

K 表示使用 Mahout 进行聚类

Mahout 二进制数据聚类

使用 Clojure 使用 Mahout 进行聚类 (fkmeans)

Mahout K 表示聚类输入文件格式

如何从 Tf-IDF 向量中选择 K-mean 的初始聚类