8.7 Mahout与协同过滤

àì夳堔傛蜴生んèń 2022-05-20 04:04 241阅读 0赞

mahout是一个工具

一个来自Apache的、开源的、JAVA的机器学习软件库

当所处理的数据规模远大于单机处理能力时成为一种可选的机 器学习工具,建立在Apache的Hadoop分布式计算项目之上

mahout安装:

1,上传apache-mahout-distribution-0.12.2.tar.gz包到linux服务器(hdfs集群的一个节点安装就行)

2,解压tar -zxvf apache-mahout-distribution-0.12.2.tar.gz

3,上传测试数据包 synthetic_control.data到服务器

4,启动hadoop集群

测试:

1,查看hdfs集群上/user/root这个文件夹有没有,没有就创建 hadoop fs -mkdir /user/root

2,上传本地的数据文件到hdfs: hadoop fs -copyFromLocal /opt/local/synthetic_control.data testdata

testdata 是相对路径的意思,当前用户目录下,也就是hdfs的/user/root下的testdata

3,进入apache-mahout-distribution-0.12.2目录下运行测试jar:

hadoop jar mahout-examples-0.12.2-job.jar org.apache.mahout.clustering.syntheticcontrol.canopy.Job

4, 程序分别运行了3个Job任务,最后把原始数据分为六类。在HDFS文件系统中/user/root/output文件夹中可以看到输出的文件

5,把数据拷贝到linux本地:./bin/mahout clusterdump -i output/clusters-0-final -p output/clusteredPoints -o test.txt

-i是输入文件路径,即运行Canopy算法产生的中心点文件路径(HDFS文件系统);

-p是运行Canopy算法后把原始数据分类后的数据文件目录(HDFS文件系统);

-o是分类结果的所有文本文件要生成的文件路径(本地文件系统)。


协同过滤是推荐系统中使用的技术

简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推 荐使用者感兴趣的资讯

协同过滤Mahout:

基于用户的协同过滤:

简单讲就是,给用户推荐和他兴趣相似的其他用户喜欢的物品

1.收集用户资料

2.最近邻搜索找到相似用户

3.计算产生推荐结果

(以使用者为基础的协同推荐算法随着使用者数量的增多,计算 的时间就会变长 社交网络站点中,UserCF是一个不错的选择)

基于物品的协同过滤:

简单讲就是,给用户推荐和他之前喜欢的物品相似的物品

1.收集用户资料

2.针对物品的最近邻搜索找到相似物品

3.计算产生推荐结果

(是目前电子商务采用最广泛的推荐算法)

Mahout协同过滤算法(SIMILARITY_LOGLIKELIHOOD ):

1,进入apache-mahout-distribution-0.12.2目录下

2,上传本地的数据文件到hdfs: hadoop fs -copyFromLocal /opt/local/user.txt input/file 意思是文件上传到当期用户目录下的input/file目录

3,./bin/mahout recommenditembased -s SIMILARITY_LOGLIKELIHOOD -i input/file -o output/file —numRecommendations 25 读取文件按协同过滤算法计算,结果输出到当前用户目录下output/file

4,查看结果数据hadoop fs -cat /user/root/output/file/part-r-00000

发表评论

表情:
评论列表 (有 0 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读

    相关 协同过滤推荐

    协同过滤推荐 1. 什么是协同过滤 协同过滤(collaborative filtering)是通过将用户和其他用户的数据进行对比来实现推荐的算法。 2. 协同

    相关 协同过滤

    推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括