简介
Mahout是Apache旗下的开源项目,旨在提供机器学习经典算法的APP实现,Mahout主要算法包括聚类、分类、推荐引擎。此外,通过使用 Apache Hadoop ,Mahout 可以有效地扩展到分布式计算项目。
声明
1.本文提供的一切链接,几乎都需要链接VPN以访问
2.未经作者许可禁止转载,转载请附带原链接
推荐书籍:
《Mahout In Action》
《Apache Mahout Cookbook》
《Apache Mahout:Beyond MapReduce》
教程目标
一、 Mahout运行环境搭建
二、Mahout上的经典算法应用
环境搭建
操作系统: Windows7_64bit
集成开发环境: Eclipse_neon3
Java环境: JDK1.8 底下众多Lib中有的版本要求JDK1.8或者更高级别
1、 打开Eclipse并创建Java工程,命名为ItemRecommender,并在根目录创建lib与data文件夹,前者放置所需相关lib 后者放置测试数据方便调用,引入相关lib,并且我们使用的是稳定的基准数据集。来自1000位用户的1700张电影的100,000评分。
测试数据解压后
,你的目录结构看起来是这样子的
不要疑惑,上面这些library以及测试数据集 ml-100k.zip的来源,在下面做出了详细解释。
数据集
机器学习是在海量数据中找到需要的答案,所以模拟数据必不可少,下面提供的测试数据是非常真实的。这也正是为什么,大数据工程师所占比例依旧很少的原因之一。拥有大数据的公司几乎屈指可数,哪一个都是行业巨头。
测试数据:令人兴奋的数据集可以直接使用,从小到大。最多有2千万条由13万8千个用户对2.7万个电影做出的评论 测试数据下载地址
测试数据集下载地址日志
不管是App开发亦或是服务器端开发,日志的重要性不必重申
我们采用 SLF4J 而不是Apache Log4j ,因为前者优秀的多,我建议你学习并使用它(Android上也可以实现哦),如果你有兴趣 ,请看更加详细介绍
日志Google Guava
中文发音”挂挖“
扩展库无需多说,很多工程师都在使用其中的并发、集合、IO等强大类库
Apache CommonsMath
Apache 上一个轻量级自容器的数学和统计计算方法库
Mahout
中文发音”马虎“ 本文中心。下载地址
注意Mahout下载下来之后 1.0+之后的版本不在有 mahout-core.jar 库 因为
被拆分并重新命名mahout-mr.jar 与 mahout-hdfs.jar
接下来继续
测试工程
首先创建命名为 MoviesDataConvet类,带main函数。,我们的目的是
把原始数据用 , 分隔
接下来,对数据做 用户相似度推荐
新建packge 并且新建itemRecommed.java
对了 不要忘记把jar包添加进来,看完整代码
我们可以看到日志输出结果,相似度查找出来了
网友评论