【发布时间】:2012-11-19 18:10:00
【问题描述】:
我正在使用 Mahout 分析 k-means 算法。我将运行一些测试,观察性能,并对得到的结果进行一些统计。
我不知道如何在 Mahout 中运行我自己的程序。但是,命令行界面可能就足够了。
为了运行我做的示例程序
$ mahout seqdirectory --input uscensus --output uscensus-seq
$ mahout seq2sparse -i uscensus-seq -o uscensus-vec
$ mahout kmeans -i reuters-vec/tfidf-vectors -o uscensus-kmeans-clusters -c uscensus-kmeans-centroids -dm org.apache.mahout.common.distance.CosineDistanceMeasure -x 5 -ow -cl -k 25
数据集是一个大型 CSV 文件。每一行都是一条记录。特征以逗号分隔。第一个字段是 ID。 由于输入格式,我不能立即使用 seqdirectory。 我正在尝试回答这个类似的问题How to perform k-means clustering in mahout with vector data stored as CSV?,但我还有 2 个问题:
- 如何从 CSV 转换为 SeqFile?我想我可以自己写 使用 Mahout 进行此转换的程序,然后使用其输出 作为 seq2parse 的输入。我想我可以使用 CSVIterator (https://cwiki.apache.org/confluence/display/MAHOUT/File+Format+Integrations)。我应该使用什么类来读写?
- 如何构建和运行我的新程序?我无法通过 Mahout 这本书或这里的其他问题来解决这个问题。
【问题讨论】: