图书介绍

Mahout实战PDF|Epub|txt|kindle电子书版本网盘下载

Mahout实战
  • (美)欧文等著;王斌,韩翼中,万吉译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115347220
  • 出版时间:2014
  • 标注页数:322页
  • 文件大小:69MB
  • 文件页数:338页
  • 主题词:机器学习;电子计算机-算法理论

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Mahout实战PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 初识Mahout1

1.1 Mahout的故事1

1.2 Mahout的机器学习主题2

1.2.1 推荐引擎2

1.2.2 聚类3

1.2.3 分类4

1.3 利用Mahout和Hadoop处理大规模数据4

1.4 安装Mahout6

1.4.1 Java和IDE6

1.4.2 安装Maven7

1.4.3 安装Mahout7

1.4.4 安装Hadoop8

1.5 小结8

第一部分 推荐10

第2章 推荐系统10

2.1 推荐的定义10

2.2 运行第一个推荐引擎11

2.2.1 创建输入11

2.2.2 创建一个推荐程序13

2.2.3 分析输出14

2.3 评估一个推荐程序14

2.3.1 训练数据与评分15

2.3.2 运行RecommenderEvaluator15

2.3.3 评估结果16

2.4 评估查准率与查全率17

2.4.1 运行RecommenderIRStats-Evaluator17

2.4.2 查准率和查全率的问题19

2.5 评估GroupLens数据集19

2.5.1 提取推荐程序的输入19

2.5.2 体验其他推荐程序20

2.6 小结20

第3章 推荐数据的表示21

3.1 偏好数据的表示21

3.1.1 Preference对象21

3.1.2 PreferenceArray及其实现22

3.1.3 改善聚合的性能23

3.1.4 FastByIDMap和FastIDSet23

3.2 内存级DataModel24

3.2.1 GenericDataModel24

3.2.2 基于文件的数据25

3.2.3 可刷新组件25

3.2.4 更新文件26

3.2.5 基于数据库的数据26

3.2.6 JDBC和MySQL27

3.2.7 通过JNDI进行配置27

3.2.8 利用程序进行配置28

3.3 无偏好值的处理29

3.3.1 何时忽略值29

3.3.2 无偏好值时的内存级表示30

3.3.3 选择兼容的实现31

3.4 小结33

第4章 进行推荐34

4.1 理解基于用户的推荐34

4.1.1 推荐何时会出错34

4.1.2 推荐何时是正确的35

4.2 探索基于用户的推荐程序36

4.2.1 算法36

4.2.2 基于GenericUserBased-Recommender实现算法36

4.2.3 尝试GroupLens数据集37

4.2.4 探究用户邻域38

4.2.5 固定大小的邻域39

4.2.6 基于阈值的邻域39

4.3 探索相似性度量40

4.3.1 基于皮尔逊相关系数的相似度40

4.3.2 皮尔逊相关系数存在的问题42

4.3.3 引入权重42

4.3.4 基于欧氏距离定义相似度43

4.3.5 采用余弦相似性度量43

4.3.6 采用斯皮尔曼相关系数基于相对排名定义相似度44

4.3.7 忽略偏好值基于谷本系数计算相似度45

4.3.8 基于对数似然比更好地计算相似度46

4.3.9 推测偏好值47

4.4 基于物品的推荐47

4.4.1 算法48

4.4.2 探究基于物品的推荐程序49

4.5 Slope-one推荐算法50

4.5.1 算法50

4.5.2 Slope-one实践51

4.5.3 Diffstorage和内存考虑52

4.5.4 离线计算量的分配53

4.6 最新以及试验性质的推荐算法53

4.6.1 基于奇异值分解的推荐算法53

4.6.2 基于线性插值物品的推荐算法54

4.6.3 基于聚类的推荐算法55

4.7 对比其他推荐算法56

4.7.1 为Mahout引入基于内容的技术56

4.7.2 深入理解基于内容的推荐算法57

4.8 对比基于模型的推荐算法57

4.9 小结57

第5章 让推荐程序实用化59

5.1 分析来自约会网站的样本数据59

5.2 找到一个有效的推荐程序61

5.2.1 基于用户的推荐程序61

5.2.2 基于物品的推荐程序62

5.2.3 slope-one推荐程序63

5.2.4 评估查准率和查全率63

5.2.5 评估性能64

5.3 引入特定域的信息65

5.3.1 采用一个定制的物品相似性度量65

5.3.2 基于内容进行推荐66

5.3.3 利用IDRescorer修改推荐结果66

5.3.4 在IDRescorer中引入性别67

5.3.5 封装一个定制的推荐程序69

5.4 为匿名用户做推荐71

5.4.1 利用PlusAnonymousUser-DataModel处理临时用户71

5.4.2 聚合匿名用户73

5.5 创建一个支持Web访问的推荐程序73

5.5.1 封装WAR文件74

5.5.2 测试部署74

5.6 更新和监控推荐程序75

5.7 小结76

第6章 分布式推荐78

6.1 分析Wikipedia数据集78

6.1.1 挑战规模79

6.1.2 分布式计算的优缺点80

6.2 设计一个基于物品的分布式推荐算法81

6.2.1 构建共现矩阵81

6.2.2 计算用户向量82

6.2.3 生成推荐结果82

6.2.4 解读结果83

6.2.5 分布式实现83

6.3 基于MapReduce实现分布式算法83

6.3.1 MapReduce简介84

6.3.2 向MapReduce转换:生成用户向量84

6.3.3 向MapReduce转换:计算共现关系85

6.3.4 向MapReduce转换:重新思考矩阵乘87

6.3.5 向MapReduce转换:通过部分乘积计算矩阵乘87

6.3.6 向MapReduce转换:形成推荐90

6.4 在Hadoop上运行MapReduce91

6.4.1 安装Hadoop92

6.4.2 在Hadoop上执行推荐92

6.4.3 配置mapper和reducer94

6.5 伪分布式推荐程序94

6.6 深入理解推荐95

6.6.1 在云上运行程序95

6.6.2 考虑推荐的非传统用法97

6.7 小结97

第二部分 聚类100

第7章 聚类介绍100

7.1 聚类的基本概念100

7.2 项目相似性度量102

7.3 Hello World:运行一个简单的聚类示例103

7.3.1 生成输入数据103

7.3.2 使用Mahout聚类104

7.3.3 分析输出结果107

7.4 探究距离测度108

7.4.1 欧氏距离测度108

7.4.2 平方欧氏距离测度108

7.4.3 曼哈顿距离测度108

7.4.4 余弦距离测度109

7.4.5 谷本距离测度110

7.4.6 加权距离测度110

7.5 在简单示例上使用各种距离测度111

7.6 小结111

第8章 聚类数据的表示112

8.1 向量可视化113

8.1.1 将数据转换为向量113

8.1.2 准备Mahout所用的向量115

8.2 将文本文档表示为向量116

8.2.1 使用TF-IDF改进加权117

8.2.2 通过n-gram搭配词考察单词的依赖性118

8.3 从文档中生成向量119

8.4 基于归一化改善向量的质量123

8.5 小结124

第9章 Mahout中的聚类算法125

9.1 k-means聚类125

9.1.1 关于k-means你需要了解的126

9.1.2 运行k-means聚类127

9.1.3 通过canopy聚类寻找最佳k值134

9.1.4 案例学习:使用k-means对新闻聚类138

9.2 超越k-means:聚类技术概览141

9.2.1 不同类型的聚类问题141

9.2.2 不同的聚类方法143

9.3 模糊k-means聚类145

9.3.1 运行模糊k-means聚类145

9.3.2 多模糊会过度吗147

9.3.3 案例学习:用模糊k-means对新闻进行聚类148

9.4 基于模型的聚类149

9.4.1 k-means的不足149

9.4.2 狄利克雷聚类150

9.4.3 基于模型的聚类示例151

9.5 用LDA进行话题建模154

9.5.1 理解LDA155

9.5.2 对比TF-IDF与LDA156

9.5.3 LDA参数调优156

9.5.4 案例学习:寻找新闻文档中的话题156

9.5.5 话题模型的应用158

9.6 小结158

第10章 评估并改善聚类质量160

10.1 检查聚类输出160

10.2 分析聚类输出162

10.2.1 距离测度与特征选择163

10.2.2 簇间与簇内距离163

10.2.3 簇的混合与重叠166

10.3 改善聚类质量166

10.3.1 改进文档向量生成过程166

10.3.2 编写自定义距离测度169

10.4 小结171

第11章 将聚类用于生产环境172

11.1 Hadoop下运行聚类算法的快速入门172

11.1.1 在本地Hadoop集群上运行聚类算法173

11.1.2 定制Hadoop配置174

11.2 聚类性能调优176

11.2.1 在计算密集型操作中避免性能缺陷176

11.2.2 在I/O密集型操作中避免性能缺陷178

11.3 批聚类及在线聚类178

11.3.1 案例分析:在线新闻聚类179

11.3.2 案例分析:对维基百科文章聚类180

11.4 小结181

第12章 聚类的实际应用182

12.1 发现Twitter上的相似用户182

12.1.1 数据预处理及特征加权183

12.1.2 避免特征选择中的常见陷阱184

12.2 为Last.fm上的艺术家推荐标签187

12.2.1 利用共现信息进行标签推荐187

12.2.2 构建Last.fm艺术家词典188

12.2.3 将Last.fm标签转换成以艺术家为特征的向量190

12.2.4 在Last.fm数据上运行k-means算法191

12.3 分析Stack Overflow数据集193

12.3.1 解析Stack Overflow数据集193

12.3.2 在Stack Overflow中发现聚类问题193

12.4 小结194

第三部分 分类198

第13章 分类198

13.1 为什么用Mahout做分类198

13.2 分类系统基础199

13.2.1 分类、推荐和聚类的区别201

13.2.2 分类的应用201

13.3 分类的工作原理202

13.3.1 模型203

13.3.2 训练、测试与生产203

13.3.3 预测变量与目标变量204

13.3.4 记录、字段和值205

13.3.5 预测变量值的4种类型205

13.3.6 有监督学习与无监督学习207

13.4 典型分类项目的工作流207

13.4.1 第一阶段工作流:训练分类模型208

13.4.2 第二阶段工作流:评估分类模型212

13.4.3 第三阶段工作流:在生产中使用模型212

13.5 循序渐进的简单分类示例213

13.5.1 数据和挑战213

13.5.2 训练一个模型来寻找颜色填充:初步设想214

13.5.3 选择一个学习算法来训练模型215

13.5.4 改进填充颜色分类器的性能217

13.6 小结221

第14章 训练分类器222

14.1 提取特征以构建分类器222

14.2 原始数据的预处理224

14.2.1 原始数据的转换224

14.2.2 一个计算营销的例子225

14.3 将可分类数据转换为向量226

14.3.1 用向量表示数据226

14.3.2 用Mahout API做特征散列228

14.4 用SGD对20 Newsgroups数据集进行分类231

14.4.1 开始:数据集预览231

14.4.2 20 Newsgroups数据特征的解析和词条化234

14.4.3 20 Newsgroups数据的训练代码234

14.5 选择训练分类器的算法238

14.5.1 非并行但仍很强大的算法:SGD和SVM239

14.5.2 朴素分类器的力量:朴素贝叶斯及补充朴素贝叶斯239

14.5.3 精密结构的力量:随机森林算法240

14.6 用朴素贝叶斯对20 Newsgroups数据分类241

14.6.1 开始:为朴素贝叶斯提取数据241

14.6.2 训练朴素贝叶斯分类器242

14.6.3 测试朴素贝叶斯模型242

14.7 小结244

第15章 分类器评估及调优245

15.1 Mahout中的分类器评估245

15.1.1 获取即时反馈246

15.1.2 确定分类“好”的含义246

15.1.3 认识不同的错误代价247

15.2 分类器评估API247

15.2.1 计算AUC248

15.2.2 计算混淆矩阵和熵矩阵250

15.2.3 计算平均对数似然252

15.2.4 模型剖析253

15.2.5 20Newsgroups语料上SGD分类器的性能指标计算254

15.3 分类器性能下降时的处理257

15.3.1 目标泄漏258

15.3.2 特征提取崩溃260

15.4 分类器性能调优262

15.4.1 问题调整262

15.4.2 分类器调优265

15.5 小结267

第16章 分类器部署268

16.1 巨型分类系统的部署过程268

16.1.1 理解问题269

16.1.2 根据需要优化特征提取过程269

16.1.3 根据需要优化向量编码269

16.1.4 部署可扩展的分类器服务270

16.2 确定规模和速度需求270

16.2.1 多大才算大270

16.2.2 在规模和速度之间折中272

16.3 对大型系统构建训练流水线273

16.3.1 获取并保留大规模数据274

16.3.2 非规范化及下采样275

16.3.3 训练中的陷阱276

16.3.4 快速读取数据并对其进行编码278

16.4 集成Mahout分类器282

16.4.1 提前计划:集成中的关键问题283

16.4.2 模型序列化287

16.5 案例:一个基于Thrift的分类服务器288

16.5.1 运行分类服务器292

16.5.2 访问分类器服务294

16.6 小结296

第17章 案例分析——Shop It To Me297

17.1 Shop It To Me选择Mahout的原因297

17.1.1 Shop It To Me公司简介298

17.1.2 Shop It To Me需要分类系统的原因298

17.1.3 对Mahout向外扩展298

17.2 邮件交易系统的一般结构299

17.3 训练模型301

17.3.1 定义分类项目的目标301

17.3.2 按时间划分303

17.3.3 避免目标泄漏303

17.3.4 调整学习算法303

17.3.5 特征向量编码304

17.4 加速分类过程306

17.4.1 特征向量的线性组合307

17.4.2 模型得分的线性扩展308

17.5 小结310

附录A JVM调优311

附录B Mahout数学基础313

附录C 相关资源318

索引320

热门推荐