利用mahout自带的fpgrowth程序以及自己的原始数据挖掘频繁模式

来源:互联网 发布:支持windows的手机 编辑:程序博客网 时间:2024/06/06 12:37

在上一篇中,我利用mahout的fpgrowth来尝试挖掘自己创建的原始数据时结果为乱码。

原因:没有指定原始数据中的分隔符

原始数据如下:

1,5,2,3
5,7,3,4
5,2,3
1,5,2,7,3,4
1,2,4
5,2,4
1,2,3
1,5,2,6,3
1,5,6,3

运行如下命令:

hadoop fs -put /home/mahout_test/fp.txt /test/

hadoop jar /opt/mahout-distribution-0.9/mahout-examples-0.9-job.jar org.apache.mahout.fpm.pfpgrowth.FPGrowthDriver -i /fp.txt -o /test/out -s 1 -method mapreduce -regex '[\,]'

mahout seqdumper -i /test/out/frequentpatterns/part-r-00000 -o /home/mahout_test/result

vi /home/mahout_test/result

即可看到结果:

Input Path: /out5/frequentpatterns/part-r-00000
Key class: class org.apache.hadoop.io.Text Value Class: class org.apache.mahout.fpm.pfpgrowth.convertors.string.TopKStringPatterns
Key: 1: Value: ([1],6), ([3, 1],5), ([2, 1],5), ([3, 5, 1],4), ([2, 3, 1],4), ([2, 3, 5, 1],3), ([3, 5, 1, 6],2), ([2, 1, 4],2)
Key: 2: Value: ([2],7), ([2, 5],5), ([2, 3],5), ([2, 1],5), ([2, 3, 5],4), ([2, 3, 1],4), ([2, 3, 5, 1],3), ([2, 4],3), ([2, 5, 4],2), ([2, 1, 4],2)
Key: 3: Value: ([3],7), ([3, 5],6), ([3, 1],5), ([2, 3],5), ([3, 5, 1],4), ([2, 3, 5],4), ([2, 3, 1],4), ([2, 3, 5, 1],3), ([3, 5, 4, 7],2), ([3, 5, 1, 6],2), ([3, 5, 4],2)
Key: 4: Value: ([4],4), ([5, 4],3), ([2, 4],3), ([3, 5, 4, 7],2), ([3, 5, 4],2), ([2, 5, 4],2), ([2, 1, 4],2)
Key: 5: Value: ([5],7), ([3, 5],6), ([2, 5],5), ([3, 5, 1],4), ([2, 3, 5],4), ([2, 3, 5, 1],3), ([5, 4],3), ([3, 5, 4, 7],2), ([3, 5, 1, 6],2), ([3, 5, 4],2), ([2, 5, 4],2)
Key: 6: Value: ([3, 5, 1, 6],2)
Key: 7: Value: ([3, 5, 4, 7],2)
Count: 7


0 0