首页 > 其他分享 >Mahout的安装配置与使用

Mahout的安装配置与使用

时间:2023-07-26 10:32:40浏览次数:44  
标签:5.0 mahout 配置 943 Mahout 1500 1398 安装 1449

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 M3_HOME=maven的实际安装路径

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时间戳


标签:5.0,mahout,配置,943,Mahout,1500,1398,安装,1449
From: https://blog.51cto.com/u_2650279/6854436

相关文章

  • Mahout协同推荐简单实例
    Mahout给我们提供的强大的协同过滤算法。需要新建一个基于Maven的工程,下面是pom.xml需要导入的包。<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0ht......
  • Parallels Desktop 18亮点功能改变与变化总整理(附安装包)
    ParallelsDesktop18专为最新的Apple硬件和即将发布的macOSVentura版本而设计。它提高了运行在ARM上的Windows11ARM的兼容性,并拥有强大的性能和游戏更新,让用户可以不间断地进行更多的工作和娱乐。→→↓↓载ParallelsDesktop18  1、高刷屏幕:可根据环境来调整刷新率......
  • CentOS Docker安装
    安装命令: #卸载旧版dockeryumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine #安装依赖包yuminstall-yyum-utils\device-mapper-persistent-data\lvm2......
  • 万字长文浅析配置对MySQL服务器的影响
    有很多的服务器选项会影响这MySQL服务器的性能,比如内存中临时表的大小、排序缓冲区等。有些针对特定存储引擎(如InnoDB)的选项,也会对查询优化很有用。调整服务器的配置从某种程度来说是一个影响全局的行为,因为每个修改都可能对该服务器上的每个查询造成影响。不过有些选项是针对特......
  • 【go语言】1.2.1 Go 环境安装
    Go语言的安装过程非常简单,无论你使用的是哪种操作系统,都可以按照下面的步骤来进行。Windows系统前往Go语言的官方下载页面:https://golang.org/dl/↗根据你的操作系统版本选择对应的安装包,Windows系统通常选择 .msi 文件。下载完成后,双击下载的文件,会出现安装向导,接受......
  • IDEA 配置 ESLint
    一直想将ESLint配置推广到团队中,只是自己也没完全摸透,也不好推广,于是记录学习一下。平时工作的环境主要为IDEA,所以配置ESLint也主要从IDEA的角度入手。ESLint简介官网介绍:ESLint查找并修复JavaScript代码中的问题,静态地分析你的代码以快速发现问题。它内置于大多数......
  • day10 10.1 C语言基础之编译器安装
    【一】学习C语言的原因一般公司的apk基于Java实现的加密jadx反编译java,分析代码NB公司的的apk,基于Java+C语言实现加密(JNI开发)加密一般使用C语言开发,在安卓项目中使用Java调用C语言开发的动态链接库文件jadx反编译java,分析代码看不到加密ida反编译c语言,分析代码......
  • 多环境开发配置
         ......
  • 修改jar 配置文件
    解压jar包修改配置文件添加MANIFEST.MF并打成jar包(注意不压缩)执行jar包//复制jar包cp/data/single/job/champion-job-single-sms-1.0/champion-job-single-sms-1.0.jar.//解压jar包jar-xvfchampion-job-single-sms-1.0.jar//修改配置文件cdconfigs/vimdb.si......
  • FeignClient 动态获取nacos中的配置,线上更改后能热更新
    1.设置nacos变量在一个类中@Component@RefreshScope@ConfigurationProperties(prefix="testC")publicclassSupplierInfoRakuten{privateStringversion;publicStringgetVersion(){returnversion;}publicvoidsetVersion(Str......