首页>参考读物>计算机科学与技术>软件与程序设计

Mahout算法解析与案例实战
作者 : 樊哲 著
丛书名 : 大数据技术丛书
出版日期 : 2014-06-23
ISBN : 978-7-111-46797-7
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 279
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是一本经典的Mahout著作,原理与实战并重。不仅全面分析了Mahout算法库中不同模块中的各个算法的原理及其Mahout实现流程,而且每个算法都辅之以实战案例。此外,还包括4个系统级案例,实战性非常强。
全书11章共分为三个部分:第一部分为基础篇(第1~2章),首先介绍了Mahout的应用背景、Mahout算法库收录的算法、Mahout的应用实例,以及开发环境的搭建;第二部分为算法篇(第3~7章),分析了Mahout算法库中不同模块的各个算法的原理以及Mahout实现流程,同时在每章书末含有每个算法的实战,让读者可以自己运行程序,感受程序运行的各个流程;第三部分为实战篇(第8~11章),通过对4个不同系统案例的分析讲解,让读者了解一个完整的云平台系统的各个流程,从需求到系统框架到系统功能到功能开发。

图书特色

全面分析Mahout算法库中不同模块中各个算法的原理及其Mahout实现流程
每个算法都辅之以实战案例,同时还包括4个系统级案例,实战性强

Mahout是基于Hadoop机器学习和数据挖掘的一个分布式计算框架,在MapReduce模式下封装实现了大量数据挖掘经典算法,为Hadoop开发人员提供了数据建模的标准,从而大大降低了大数据应用中并行挖掘产品的开发难度。掌握了Mahout之后,Hadoop开发人员可以直接调用相关算法模型的接口,方便快捷地创建智能应用程序,从而大幅提升商业智能软件的大数据分析处理能力。

本书主要包含以下内容:
Mahout算法库及其应用场景的介绍;
Mahout的安装、配置,以及开发环境的搭建;
聚类算法、分类算法、协同过滤算法、模式挖掘算法、Dimension Reduction算法的功能、应用、实现原理的介绍和分析;
各种重要算法的Mahout实现案例及其分析;
4个系统级案例的完整实现过程。


Mahout使得大数据平台下原本复杂的算法程序设计变得简单,用户不需要自己编写复杂的算法,也不需要深入掌握大数据平台的理论知识,只需要了解算法的原理、实际应用场景和调用接口即可。Mahout的强大之处在于它有非常丰富的算法库,包含非常多的算法模块,如聚类算法、分类算法、协同过滤算法等。要解决复杂的问题,必须在Mahout的源代码基础上进行二次开发,而要进行二次开发,必须深入理解这些算法的实现原理。本书对Mahout中的各种重要算法的实现原理进行了深入分析,并通过大量案例做了演示和说明,是目前比较难得的一本原理与实战性并重的Mahout著作。

作者简介
樊哲
资深软件开发工程师,精通Java相关技术,专注数据挖掘领域,对Hadoop和Mahout等大数据技术有较深入的研究和丰富的实践,目前正从事Mahout算法开发方面的工作。活跃于CSDN和Hadoop技术论坛等社区,荣获“CSDN2013博客之星”头衔。

图书前言

为什么要写这本书
2010年以后,世界快速进入了大数据时代,Hadoop成为大数据分析的首选平台和开发标准,无数数据分析软件纷纷向Hadoop靠拢。在Hadoop原有技术基础之上,涌现了Hadoop家族产品,它们正在配合“大数据”概念不断创新,推动科技进步。因此,新一代IT精英也必须顺应潮流,抓住机遇,随着Hadoop一起发展和成长!
简而言之,Hadoop是由Apache基金会开发的一个优秀的云计算技术框架,用户在其基础上即使不了解分布式底层细节,也可以开发分布式程序。Hadoop家族成员中的诸多成员进一步利用了这一优势,拓展了云计算的应用领域,降低了相应的软件开发门槛,而Mahout就是其中最难掌握,也是最有竞争力且最值得学习的项目之一。
Mahout是一个基于Hadoop的机器学习和数据挖掘的分布式计算框架,在MapReduce模式下封装实现了大量数据挖掘经典算法,为Hadoop开发人员提供了数据建模的标准,从而大大降低了大数据应用中并行挖掘产品的开发难度。在掌握了Mahout之后,Hadoop开发人员可以直接调用相关算法模型的接口,方便、快捷地创建智能应用程序,从而大幅提升商业智能软件的大数据分析处理能力。
但是,目前关于Mahout的参考资料比较少,比较有名的是Sean Owen编写的《Mahout in Action》,更多时候开发者只能通过Mahout的官网或者网络上一些技术爱好者发布的博客内容来进行学习。《Mahout in Action》是一本全英文的书籍,而且出版年份比较早,对国内的一些Mahout爱好者来说,阅读此书有一定的难度,因此,笔者就有了结合自己的经验写一本与Mahout有关的书籍的想法。本书针对Mahout算法库目前收录的大多数算法进行了分析,同时收录了笔者开发的4个简单系统,作为读者学习和实践的实例。
读者对象
Hadoop用户和爱好者
云平台系统架构师
Mahout代码二次开发者
云平台系统开发者
使用Mahout、Hadoop的相关用户
开设相关课程的大专院校学生
如何阅读本书
本书分为三大部分:
第一部分为基础篇(第1~2章),首先对Mahout的应用背景以及Mahout算法库收录的算法进行了简单介绍,同时分析了Mahout的应用实例。接着介绍其开发环境并详细分析了它的配置,使读者可以搭建一个自己的开发环境,为后面实战做好准备。
第二部分为算法篇(第3~7章),分析了Mahout算法库中不同模块的各个算法的原理以及Mahout实现流程,同时在每章末尾都有算法实战,让读者自己运行程序,感受程序运行的各个流程。
第三部分为实战篇(第8~11章),通过对4个不同系统案例的分析讲解,让读者了解开发完整的云平台系统的各个流程,即需求分析→系统框架选择及构建→系统功能设计→功能开发和界面开发。
其中第三部分以接近实战的案例来讲解云平台算法和当前流行框架的结合,此部分内容需要读者有一定的Spring、Struts 2、Hibernate等框架的基础。第一、第二部分则是Mahout基础知识,如果读者对Mahout不熟悉,建议从第1章内容开始阅读。
勘误和支持
除封面署名外,还有很多人对本书的写作提供了帮助,分别为:张汉锐、张良均、刘名军、庄思待、曾祥柱、曾健荣等。由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,读者可以通过笔者微博(http://weibo.com/fansy1990)或CSDN地址(http://blog.csdn.net/fansy1990)反馈有关问题。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱fansy1990@foxmail.com,期待能够得到你们的真挚反馈。
致谢
首先要感谢Apache基金会,感谢其开源的伟大精神。如果没有Apache基金会,没有其Mahout开源项目,那么就不会有这本书。
感谢华南师范大学的薛云老师,在写本书的过程中,他给了我很多指导,为我指明了方向,同时提供了很多支持。
感谢CSDN社区,它提供了一个技术交流平台,笔者在这个平台学到了很多知识和技能,为笔者编写本书提供了很多帮助和支持。
感谢机械工业出版社华章分社的编辑杨福川、姜影和佘洁,在这一年多的时间中始终支持我的写作,你们的鼓励和帮助引导我顺利完成全部书稿。
最后感谢我的爸爸、妈妈,感谢你们将我培养成人,感谢你们在我人生的每个阶段都能给我提供不同的建议,并时时刻刻支持我。无论我做什么决定,你们的支持是我坚持的动力。
谨以此书献给我最亲爱的家人,以及众多热爱Mahout的朋友!

上架指导

计算机\程序设计

封底文字

Mahout是一个基于Hadoop的机器学习和数据挖掘的分布式计算框架,在MapReduce模式下封装实现了大量数据挖掘经典算法,为Hadoop开发人员提供了数据建模的标准,从而大大降低了大数据应用中并行挖掘产品的开发难度。掌握了Mahout之后,Hadoop开发人员可以直接调用相关算法模型的接口,方便快捷地创建智能应用程序,从而大幅提升了商业智能软件的大数据分析处理能力。
本书主要包含以下内容:
(1) Mahout算法库及其应用场景的介绍
(2) Mahout的安装、配置,以及开发环境的搭建;
(3) 聚类算法、分类算法、协同过滤算法、模式挖掘算法、Dimension Reduction算法的功能、应用、实现原理的介绍和分析;
(4) 各种算法的Mahout实现案例及其分析;
(5) 4个系统级案例的完整实现过程。

作者简介

樊哲 著:暂无简介

图书目录

前 言
第一部分 基础篇
第1章 Mahout简介  2
1.1 Mahout应用背景  2
1.2 Mahout算法库  3
1.2.1 聚类算法  4
1.2.2 分类算法  5
1.2.3 协同过滤算法  6
1.2.4 频繁项集挖掘算法  7
1.3 Mahout应用  7
1.4 本章小结  8
第2章 Mahout安装配置  9
2.1 Mahout安装前的准备  9
2.1.1 安装JDK  10
2.1.2 安装Hadoop  12
2.2 两种安装方式  20
2.2.1 使用Maven安装  20
2.2.2 下载发布版安装  22
2.3 测试安装  22
2.4 本章小结  24
第二部分 算法篇
第3章 聚类算法  26
3.1 Canopy算法  26
3.1.1 Canopy算法简介  26
3.1.2 Mahout中Canopy算法实现原理  28
3.1.3 Mahout的Canopy算法实战  29
3.1.4 Canopy算法小结  37
3.2 K-Means算法  37
3.2.1 K-Means算法简介  37
3.2.2 Mahout中K-Means算法实现原理  38
3.2.3 Mahout的K-Means算法实战  39
3.2.4 K-Means算法小结  46
3.3 Mean Shift算法  46
3.3.1 Mean Shift算法简介  46
3.3.2 Mahout中Mean Shift算法实现原理  46
3.3.3 Mahout的Mean Shift算法实战  48
3.3.4 Mean Shift算法小结  51
3.4 本章小结  51
第4章 分类算法  52
4.1  Bayesian算法  53
4.1.1 Bayesian算法简介  53
4.1.2 Mahout 中Bayesian算法实现原理  55
4.1.3 Mahout的Bayesian算法实战  59
4.1.4 拓展  70
4.1.5 Bayesian算法小结  70
4.2 Random Forests算法  70
4.2.1 Random Forests算法简介  70
4.2.2 Mahout中Random Forests算法实现原理  72
4.2.3 Mahout的Random Forests算法实战  77
4.2.4 拓展  81
4.2.5 Random Forests算法小结  82
4.3 本章小结  83
第5章 协同过滤算法  84
5.1 Distributed Item-Based Collaborative Filtering算法  85
5.1.1 Distributed Item-Based Collaborative Filtering算法简介  85
5.1.2 Mahout中Distributed ItemBased Collaborative Filtering算法实现原理  86
5.1.3 Mahout的Distributed Item Based Collaborative Filtering算法实战  90
5.1.4 拓展  93
5.1.5 Distributed ItemBased Collabo-rative Filtering算法小结  94
5.2 Collaborative Filtering with ALSWR算法  94
5.2.1 Collaborative Filtering with ALSWR算法简介  94
5.2.2 Mahout中Collaborative Filtering with ALS-WR算法实现原理  98
5.2.3 Mahout的Collaborative Filtering with ALS-WR算法实战  99
5.2.4 拓展  107
5.2.5 Collaborative Filtering with ALSWR算法小结  107
5.3 本章小结  107
第6章 模式挖掘算法  108
6.1 FP树关联规则算法  109
6.1.1 FP树关联规则算法简介  109
6.1.2 Mahout中Parallel Frequent Pattern Mining算法实现原理  113
6.1.3 Mahout的Parallel Frequent Pattern Mining算法实战  120
6.1.4 拓展  125
6.2 本章小结  126
第7章 Mahout中的其他算法  127
7.1 Dimension Reduction算法  128
7.1.1 Dimension Reduction算法简介  128
7.1.2 Mahout中Dimension Reduction算法实现原理  129
7.1.3 Mahout的Dimension Reduction算法实战  133
7.1.4 拓展  139
7.2 本章小结  142
第三部分 实战篇
第8章 Friend Find系统  144
8.1 系统功能  145
8.1.1 系统管理员  145
8.1.2 普通用户  146
8.1.3 总体功能  146
8.2 数据库设计  147
8.2.1 原始用户数据表  148
8.2.2 注册用户数据表  149
8.2.3 系统管理员表  149
8.2.4 聚类中心表  149
8.3 系统技术框架  150
8.4 系统流程  152
8.4.1 登录  152
8.4.2 注册  153
8.4.3 上传数据  154
8.4.4 调用K-Means算法  155
8.4.5 查看用户分组  157
8.4.6 查看分组情况  158
8.4.7 查看分组成员  159
8.5 系统实现  159
8.5.1 登录  159
8.5.2 注册  161
8.5.3 上传数据  162
8.5.4 调用K-Means算法  163
8.5.5 查看用户分组  167
8.5.6 查看分组情况  167
8.5.7 查看分组成员  168
8.6 本章小结  170
第9章 Wine Identification系统  171
9.1 系统功能  172
9.1.1 用户管理模块  173
9.1.2 随机森林模型建立模块  173
9.1.3 随机森林模型预测模块  173
9.2 系统框架  173
9.3 数据库设计  180
9.3.1 用户表  180
9.3.2 系统常量表  181
9.4 系统流程  181
9.4.1 登录  182
9.4.2 注销  182
9.4.3 权限修改  182
9.4.4 密码修改  183
9.4.5 用户列表  183
9.4.6 数据上传  184
9.4.7 随机森林模型建立  185
9.4.8 随机森林模型评估  186
9.4.9 随机森林模型预测  187
9.5 系统实现  188
9.5.1 登录  188
9.5.2 注销  188
9.5.3 权限修改  189
9.5.4 密码修改  190
9.5.5 用户列表  191
9.5.6 数据上传  193
9.5.7 随机森林模型建立  194
9.5.8 随机森林模型评估  194
9.5.9 随机森林模型预测  195
9.6 本章小结  196
第10章 Dating Recommender系统  197
10.1 系统功能  198
10.1.1 系统管理员功能  198
10.1.2 普通用户功能  199
10.1.3 功能总述  199
10.2 系统框架  200
10.3 数据库设计  203
10.3.1 系统管理员表  203
10.3.2 原始用户推荐信息表  204
10.3.3 基础数据top10表  204
10.4 系统流程  204
10.4.1 登录  205
10.4.2 上传数据  205
10.4.3 推荐分析  206
10.4.4 单用户推荐  210
10.4.5 新用户推荐  211
10.5 算法设计  214
10.5.1 协同过滤算法接口设计  214
10.5.2 top10算法设计  215
10.5.3 新用户推荐算法设计  221
10.6 系统实现  228
10.6.1 登录  228
10.6.2 上传数据  229
10.6.3 推荐分析  230
10.6.4 单用户推荐  232
10.6.5 新用户推荐  234
10.7 本章小结  235
第11章 博客推荐系统  237
11.1 系统功能  238
11.1.1 用户管理  238
11.1.2 建立知识库  239
11.1.3 博客管理  239
11.2 系统框架  240
11.3 数据库设计  246
11.3.1 用户信息表  246
11.3.2 知识库信息表  247
11.3.3 系统常量表  248
11.4 系统流程  248
11.4.1 登录  248
11.4.2 注册  248
11.4.3 密码修改  249
11.4.4 订阅博客查看  249
11.4.5 博客订阅与退订  249
11.4.6 博客推荐  250
11.4.7 上传数据  252
11.4.8 调用FP树关联规则算法  253
11.5 算法设计  260
11.6 系统实现  262
11.6.1 登录  262
11.6.2 注册  263
11.6.3 密码修改  264
11.6.4 订阅博客查看  265
11.6.5 运行FP云算法  266
11.6.6 博客订阅与退订  267
11.6.7 博客推荐  268
11.7 本章小结  270

教学资源推荐
作者: 施霞萍 王瑾德 史建成 马可幸 张欢欢 编著
作者: 尹宝林 编著
作者: (美)H.M.Deitel
参考读物推荐
作者: Apache Kylin核心团队 著
作者: 陆凌牛 著
作者: 刘金亮
作者: [德] 彼得·佐默霍夫(Peter Sommerhoff)著