Mahout 是Apache旗下的一个机器学习和数据挖掘的分布式框架,包括聚类,分类,协同过滤,关联规则挖掘等
经典的算法。
1. 安装Maven
wget http://apache.etoak.com//maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz 下载
最新版本的Maven. tar xvf apache-maven-3.0.2-bin.tar.gz 解压后配置路径,vi ~/.bashrc 在此文件添加如下两行
export PATH=${M3_HOME}/bin:${PATH}
然后执行. ~/.bashrc使之生效,通过mvn -version 查看版本来看是否安装成功。
2. 安装Mahout
svn co http://svn.apache.org/repos/asf/mahout/trunk mahout 将mahout从代码库中下载下来,在mahout
目录执行mvn install 安装,如果想快一点就跳过单元测试检验的那些个环节,使用mvn clean install -DskipTests=true。
如果过程中没有报错的话说明安装成功。
3. 运行Mahout中的示例程序
在/mahout/examples/bin下有个聚类的测试脚本,我们可以运行来看一下,不过事先要配置好Hadoop的运行环境,
我们运行下面这个
脚本,cluster-syntheticcontrol.sh
xxx@xxx: ./cluster-syntheticcontrol.sh Please select a number to choose the corresponding clustering algorithm 1. canopy clustering 2. kmeans clustering 3. fuzzykmeans clustering 4. dirichlet clustering 5. meanshift clustering Enter your choice : |
这里有好几个聚类的算法,都是使用http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data
这里的数据。实际跑一下,在hdfs里面output/clusters-*目录下可以查看结果。
我们在运行一个协调过滤的例子,采用的是SlopeOne推荐的,从http://www.grouplens.org/node/12 下载需要的测试数据,
wget http://www.grouplens.org/system/files/ml-100k.zip unzip命令解压后,找到ua.base文件,将它放到HDFS文件系统
中去,hadoop fs -put ./ua.base input 。之后再/mahout/core/target目录下,执行下面的一串命令:
hadoop jar mahout-core-0.8-SNAPSHOT-job org.apache.mahout.cf.taste.hadoop.pseudo.RecommenderJob -Dmapred.input.dir=input/ua.base -Dmapred.output.dir=output/recommend/ --recommenderClassName org.apache.mahout.cf.taste.impl.recommender.slopeone.SlopeOneRecommender
运行之后我们将结果从hdfs导出到本地,hadoop fs -get output/recommend/ output, 先将part-r-00000.gz解压一下,然后tail -f part-r-00000就可以看到生成的
推荐结果了:
934 [1500:5.612117,1643:5.000663,1463:5.0,1293:5.0,1642:4.8183527,1368:4.740515,1398:4.733873,1639:4.5879145,114:4.5742764,1158:4.508668] 935 [851:5.9419937,1449:5.3944926,1398:5.373123,1158:5.355277,1612:5.3333335,1064:5.3093076,1191:5.2806797,1080:5.2754364,1332:5.226541,1642:5.147603] 936 [1500:5.6213202,1449:5.337122,851:5.314575,1463:5.2984333,1612:5.2581205,1642:5.093908,1398:5.015227,1293:5.0,1064:4.9175024,1158:4.8493795] 937 [1500:5.1213202,1293:5.0,1449:4.864124,1467:4.5690355,1612:4.5,1642:4.4209914,1175:4.369398,851:4.277082,1398:4.2526293,169:4.2230315] 938 [1500:6.0,851:5.4116225,1449:5.261485,1080:5.135357,1639:5.120229,1398:5.0513654,1612:5.0416207,1064:4.988654,1158:4.974,1629:4.9657393] 939 [1294:6.5,1175:6.5,1467:6.226541,851:6.0186186,1080:6.0,1233:5.995873,1629:5.8823447,1449:5.8435216,169:5.7910223,114:5.780447] 940 [1500:5.5841513,1463:5.119504,1293:5.0,1449:4.636525,1643:4.544313,1368:4.500481,1191:4.486469,1398:4.401837,1612:4.361653,1642:4.3293104] 941 [1500:7.5,868:6.0,1398:6.0,1639:6.0,1158:5.512253,1467:5.4142137,1396:5.2928934,1642:5.2928934,1080:5.2132034,851:5.1633635] 942 [1463:5.5285954,1500:5.5118446,1293:5.5,1449:5.4203076,1398:5.29603,1642:5.252299,1467:5.209111,1158:5.1849523,1524:5.1738963,1368:5.1218886] 943 [1080:5.3644133,1233:5.303138,1449:5.2133603,1500:5.178636,1467:5.017004,1293:5.0,1612:5.0,1398:4.874856,1643:4.863265,1607:4.8206778] |
怎么样,功能强大吧,所有的算法mahout都帮你实现好了,你需要的只是提供数据而已,ua.base中的数据是这样的:
943 1044 3 888639903 943 1047 2 875502146 943 1074 4 888640250 943 1188 3 888640250 943 1228 3 888640275 943 1330 3 888692465 |
用户ID ItemID preference分值 Timestamp时间戳
相关推荐
### Mahout 安装与配置详解 #### 一、Mahout 概述 Mahout 是一个高度可扩展的机器学习库,特别适用于大数据环境。它提供了多种数据挖掘算法的实现,如分类、聚类、推荐系统等,并且这些算法可以在 Hadoop 分布式...
Apache Mahout的Windows单机安装涉及了Java环境、Maven的配置和源码的编译。通过以上步骤,开发者可以在本地环境中快速上手Mahout,进行机器学习实验和开发。由于Mahout是基于Hadoop设计的,因此对于大数据处理和...
通过上述步骤,不仅可以顺利完成Mahout的安装与配置,还能够深入了解Mahout的基本原理及其在实际项目中的应用。Mahout作为一款强大的机器学习工具,对于希望在大数据环境下实施智能分析的应用来说,具有不可替代的...
- Mahout的安装指南:详细介绍了如何在不同的操作系统上安装Mahout,以及如何配置相关环境,确保Mahout可以顺利运行。 - 数据预处理:在进行机器学习之前,数据预处理是一个重要的步骤,Mahout提供了相应的工具来...
1. **配置环境**:确保已经安装了Java和Hadoop,并且设置了相应的环境变量。 2. **下载Mahout**:解压提供的`mahout-distribution-0.5`压缩包到本地目录。 3. **创建输入数据**:准备要进行聚类的数据,通常是以CSV...
Apache Mahout是一个基于Java的开源机器学习库,它为大数据处理提供了丰富的算法和工具...同时,由于"新建文件夹"没有给出具体信息,可能是一个空文件夹,或者包含了与Mahout相关的其他资料,如测试数据、配置文件等。
3. Mahout的安装与配置 要成功运行Mahout Taste Webapp,需要完成一系列的安装和配置步骤。首先,从Apache官方网站或SVN代码库下载Mahout的0.5版本源码包,然后使用Maven命令编译并安装相关模块到本地仓库中。需要...
3. **文档**:可能包括README文件,指导用户如何安装和使用这个编译包。 4. **配置文件**:如`.xml`文件,可能包含Hadoop和Mahout的配置信息。 5. **示例项目**:演示如何在Hadoop 2环境下运行Mahout的实例。 6. **...
《Apache Maven与Mahout实战:基于maven_mahout_template-mahout-0.8的探索》 Apache Maven是一款强大的项目管理和依赖管理工具,广泛应用于Java开发领域。它通过一个项目对象模型(Project Object Model,POM)来...
为了使用Mahout,用户需要在自己的环境中进行一系列预安装设置。首先,需要安装Java,因为它是Mahout项目的主要开发语言。在安装Java之后,需要下载并安装Hadoop,这是一个用于存储和处理大型数据集的框架。为了使...
为了在 Eclipse 中使用 Mahout,你需要安装 Hadoop 和 Mahout 相关的插件,或者手动配置项目以包含 "Mahout 最新基础依赖包" 中的 JAR 文件。这样可以避免因缺少依赖而导致的编译错误或运行时问题。 **使用步骤** ...
4. **安装与配置**:详述如何在本地或分布式环境中设置Mahout,包括依赖库的安装、Hadoop集群的配置以及与其他大数据工具(如Hive和Pig)的集成。 5. **数据预处理**:在应用机器学习算法之前,数据清洗和转换是...
每个模块对应于一个Maven子项目,可以通过添加相应的依赖到自己的Maven配置中来集成Mahout的功能。例如,如果你需要使用推荐系统,只需在`pom.xml`文件中添加相关的Mahout依赖即可。 **3. Mahout 与 Hadoop** ...
接着,将深入讲解Mahout的架构、工作原理以及安装配置方法,使读者能够搭建起自己的Mahout开发环境。 在机器学习部分,书中涵盖了多种Mahout支持的算法,如协同过滤、聚类、分类和回归等。协同过滤是推荐系统的核心...
最后,如果你打算在 Eclipse 中开发基于 Mahout 的应用程序,还需要安装 Eclipse 插件(如 m2eclipse)来支持 Maven 项目,并配置 Hadoop 和 Mahout 的相关路径。这将使得在 IDE 中编写、编译和调试 Mahout 代码变得...
本书不仅涵盖了安装与配置Mahout所需的环境,还提供了丰富的示例代码,展示了如何利用Mahout进行推荐系统、分类、聚类等数据挖掘任务。 ### Mahout并非难事 章节开篇便引入了安装Java和Hadoop的基本步骤,强调了这...
4. **数据输入与输出**:在使用Mahout进行数据处理时,需要正确设置HDFS的输入输出路径。如果路径不正确或者权限问题,会导致作业无法正常运行。检查HDFS的文件系统配置和作业提交命令的参数是关键。 5. **...