Mahout安装并测试Parallel FP Growth Algorithm

为了开题,最近一直在看论文,从中科院的论文Balanced Parallel FP-Growth with MapReduce中看到了mahout,于是google了一下,发现mahout里面实现了PFP,具体可以参见https://cwiki.apache.org/confluence/display/MAHOUT/Parallel+Frequent+Pattern+Mining。于是就开始安装mahout.

1、安装maven

官网下载apache-maven-3.1.1-bin.tar.gz,解压到/usr,在/home/lmdyyh/.bashrc中配置maven路径。M2_HOME=/usr/apache-maven-3.1.1/  export PATH=$M2_HOME/bi    n:$PATH。若执行mvn -v成功,可说明安装成功。rpm包管理的话可直接yum安装,yum install maven

2、安装mahout

官网http://archive.apache.org/dist/mahout/0.8/下载mahout-distribution-0.8.tar.gz,解压到/usr,在/usr/mahout-distribution-0.8/bin/mahout中添加export JAVA_HOME=/usr/java/jdk1.7.0_40/jre  export HADOOP_HOME=/usr/hadoop-2.1.0-beta。最后在MAHOUT_HOME目录下,执行mvn clean && mvn compile && mvn -DskipTests install。最后显示success即表示成功安装。在MAHOUT_HOME/bin目录下,执行./mahout --help 可以看到mahout目前拥有的算法。

3、安装hadoop

参见www.linuxidc.com/Linux/2012-12/75346.html

4运行mahout中的

所有都安装好后就可以用mahout自带的retail.dat测试一下。方便起见,root权限下,首先在/etc/profile中添加export PATH=/usr/hadoop-2.1.0-beta/bin:/usr/mahout-distribution-0.8/bin:$PATH。在hdfs中新建目录input,执行hadoop fs -mkdir input,然后将retail.bat复制到input目录中,执行hadoop fs -put /usr/mahout-distribution-0.8/core/src/test/resources/retail.dat  input,此时用命令hadoop fs -ls -R input会看到retail.bat已经拷贝到hdfs中。

最后调用mahout fpg -i input/retail.dat -o output -k 50 -method mapreduce -regex '[\ ]' -s 2,即可得到运行结果。output中会生成4个文件夹,调用hadoop fs -ls -R output可看到分别为fList,frequentpatterns,fpGrowth,parallelcounting。查看结果执行mahout seqdumper -i output/frequentpatterns/part-r-00000。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mahout 是一个基于 Hadoop 的机器学习库,提供了许多机器学习算法的实现,其中包括 FPGrowth 算法。下面是一个使用 Mahout 实现 FPGrowth 算法的示例: 1. 准备数据 首先,我们需要准备数据。假设我们有一个包含购物篮的数据集,每个购物篮中包含多个物品。数据集的格式如下: ``` A,B,C A,C,D B,C,E A,B,C,E A,C,E ``` 2. 安装 Mahout Mahout 是一个基于 Hadoop 的库,因此需要先安装 HadoopMahout安装过程比较简单,可以按照官方文档进行安装。 3. 数据预处理 在运行 FPGrowth 算法之前,需要将数据转换为 Mahout 中的 SequenceFile 格式。可以使用 Mahout 中的 seqdirectory 命令将数据转换为 SequenceFile 格式: ``` bin/mahout seqdirectory -i /path/to/data -o /path/to/output ``` 其中,/path/to/data 是原始数据的路径,/path/to/output 是输出路径。 4. 运行 FPGrowth 算法 使用 Mahout 中的 fpg 命令运行 FPGrowth 算法: ``` bin/mahout fpg -i /path/to/output -o /path/to/output/fpg -method mapreduce -regex '[\t,]' -s 2 -k 2 ``` 其中,/path/to/output 是数据预处理步骤中的输出路径,/path/to/output/fpgFPGrowth 算法的输出路径,-method 参数指定使用 MapReduce 运行算法,-regex 参数指定数据的分隔符,-s 参数指定支持度为 2,-k 参数指定最小支持度为 2。 5. 查看结果 FPGrowth 算法的输出结果包含频繁项集和关联规则。可以使用 Mahout 中的 fpgdumper 命令查看结果: ``` bin/mahout fpgdumper -i /path/to/output/fpg/frequentpatterns/ -o /path/to/output/fpg/frequentpatterns.txt -p true -d "," ``` 其中,/path/to/output/fpg/frequentpatterns/ 是 FPGrowth 算法的输出路径,/path/to/output/fpg/frequentpatterns.txt 是输出文件的路径,-p 参数指定输出频繁项集,-d 参数指定项之间的分隔符。 输出结果如下: ``` {A} 3 {A,C} 3 {B} 2 {B,C} 2 {C} 4 {C,E} 3 {E} 2 ``` 其中,每一行表示一个频繁项集及其支持度。 以上就是使用 Mahout 实现 FPGrowth 算法的示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值