0,安装配置
mahout 0.8
1,准备数据
2503篇文本文件,存放在texts目录中
2,将文本文件转化为sequenceFile
$ mahout seqdirectory -c utf8 -i texts -o seqfiles
3,将sequenceFile生成为文本文件
$ mahout seqdumper -i seqfiles -o seqfiles.dumper
4,将sequenceFile转化为向量格式
$ mahout seq2sparse -i seqfiles -o vectors -ow
生成vectors目录,其文件结构如下:
df-count 目录:保存着文本的频率信息
tf-vectors 目录:保存着以 TF 作为权值的文本向量
tfidf-vectors 目录:保存着以 TFIDF 作为权值的文本向量
tokenized-documents 目录:保存着分词过后的文本信息
wordcount 目录:保存着全局的词汇出现的次数
dictionary.file-0 目录:保存着这些文本的词汇表
frequcency-file-0 目录 : 保存着词汇表对应的频率信息。
5,Canopy聚类
为Kmeans聚类提供初始类
$ mahout canopy -i vectors/tfidf-vectors -o canopy-centroids -dm org.apache.mahout.common.distance.EuclideanDistanceMeasure -t1 1500 -t2 2000
6,Kmeans聚类
$ mahout kmeans -i vectors/tfidf-vectors -o kmeans-clusters -dm org.apache.mahout.common.distance.TanimotoDistanceMeasure -c canopy-centroids/clusters-迭代次数-final/ -cd 0.1 -ow -x 20 -cl
注:迭代次数随项目变化
7,查看聚类结果
$ mahout clusterdump --input kmeans-clusters/clusters-迭代次数-final --pointsDir kmeans-clusters/clusteredPoints --output kmeans.clusters
注:迭代次数随项目变化