《机器学习 实用技术指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)詹森·贝尔(Jason Bell)
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111593379
  • 页数:302 页
图书介绍:本书是一本使用机器学习进行实际操作处理数据分析任务的书,全书讨论了机器学习理论及其应用,重点是机器学习在实际生活工作中的应用的。通过阅读本书,读者将了解机器学习的基本知识、常用策略、各种算法、实际应用等。

第1章 什么是机器学习 1

1.1 机器学习的历史 1

1.1.1 阿兰·图灵 1

1.1.2 亚瑟·塞缪尔 2

1.1.3 汤姆M.米切尔 2

1.1.4 总结定义 2

1.2 机器学习的算法类型 2

1.2.1 监督学习 3

1.2.2 无监督学习 3

1.3 人的作用 3

1.4 机器学习的用途 4

1.4.1 软件 4

1.4.2 股票交易 4

1.4.3 机器人学 5

1.4.4 医学和医疗 5

1.4.5 广告业 5

1.4.6 零售和电子商务 6

1.4.7 游戏分析 7

1.4.8 物联网 7

1.5 机器学习语言 8

1.5.1 Python 8

1.5.2 R 8

1.5.3 Matlab 8

1.5.4 Scala 8

1.5.5 Clojure 9

1.5.6 Ruby 9

1.6 本书使用的软件 9

1.6.1 检查Java版本 9

1.6.2 Weka工具包 9

1.6.3 Mahout 10

1.6.4 Spring XD 10

1.6.5 Hadoop 11

1.6.6 使用集成开发环境 11

1.7 数据库 11

1.7.1 加州大学欧文分校机器学习库 12

1.7.2 Infochimps 12

1.7.3 Kaggle 12

1.8 总结 12

第2章 筹备机器学习 13

2.1 机器学习周期 13

2.2 以问题为先导 13

2.3 缺少数据 14

2.3.1 从身边做起 14

2.3.2 比赛 14

2.4 一劳永逸的解决方案 15

2.5 界定机器学习过程 15

2.5.1 规划 15

2.5.2 开发 16

2.5.3 测试 16

2.5.4 报告 16

2.5.5 精炼 16

2.5.6 产品 16

2.6 建立数据团队 17

2.6.1 数学和统计学 17

2.6.2 编程 17

2.6.3 图形设计 17

2.6.4 行业知识 17

2.7 数据处理 18

2.7.1 使用个人计算机 18

2.7.2 计算机集群 18

2.7.3 云服务 18

2.8 数据存储 19

2.8.1 物理磁盘 19

2.8.2 云存储 19

2.9 数据隐私 19

2.9.1 文化规范 19

2.9.2 普遍的期望 20

2.9.3 用户数据匿名 20

2.9.4 不要穿过“底线” 21

2.10 数据质量和清洗 21

2.10.1 完整性检测 22

2.10.2 类型检测 22

2.10.3 长度检测 22

2.10.4 范围检测 22

2.10.5 格式检测 23

2.10.6 进退两难 23

2.10.7 国家名内包含的内容 26

2.10.8 数值和日期 27

2.10.9 有关数据清洗的最后看法 28

2.11 思考输入数据 28

2.11.1 原始文本 28

2.11.2 逗号分隔变量 28

2.11.3 JSON 29

2.11.4 YAML 30

2.11.5 XML 31

2.11.6 电子表格 32

2.11.7 数据库 32

2.11.8 图像 33

2.12 考虑输出数据 33

2.13 不要害怕实验 33

2.14 总结 34

第3章 决策树 35

3.1 决策树基础 35

3.1.1 决策树的用途 35

3.1.2 决策树的优点 36

3.1.3 决策树的局限 36

3.1.4 相关算法类型 36

3.1.5 决策树工作原理 37

3.2 Weka中的决策树 40

3.2.1 需求 40

3.2.2 训练数据 41

3.2.3 使用Weka创建决策树 42

3.2.4 为分类器生成Java代码 46

3.2.5 测试分类器代码 49

3.2.6 进一步的思考 51

3.3 总结 51

第4章 贝叶斯网络 52

4.1 从飞行员到回形针 52

4.2 图论 53

4.3 概率论 54

4.3.1 投掷硬币 54

4.3.2 条件概率 54

4.3.3 赌博中获胜 54

4.4 贝叶斯定理 55

4.5 贝叶斯网络原理 57

4.5.1 赋值 57

4.5.2 计算结果 58

4.6 节点的个数 59

4.7 利用领域专家的信息 59

4.8 贝叶斯网络演练 59

4.8.1 贝叶斯网络中的Java API 60

4.8.2 设计网络 60

4.8.3 编程 61

4.9 总结 69

第5章 人工神经网络 70

5.1 什么是神经网络 70

5.2 人工神经网络的应用 71

5.2.1 高频交易 71

5.2.2 信用分析 71

5.2.3 数据中心管理 71

5.2.4 机器人 72

5.2.5 药效监控 72

5.3 人工神经网络分解 72

5.3.1 感知机 72

5.3.2 激活函数 73

5.3.3 多层感知机 74

5.3.4 后向传播算法 75

5.4 人工神经网络的数据准备 76

5.5 Weka中的人工神经网络 76

5.5.1 新建数据集 76

5.5.2 将数据载入Weka中 78

5.5.3 配置多层感知机 79

5.5.4 训练网络 81

5.5.5 调整网络 83

5.5.6 增加测试数据规模 83

5.6 利用Java实现神经网络 84

5.6.1 创建项目 84

5.6.2 实现代码 86

5.6.3 CSV与Arff文件转换 88

5.6.4 运行神经网络 88

5.7 总结 89

第6章 关联规则学习 90

6.1 关联规则学习的应用 90

6.1.1 Web使用挖掘 90

6.1.2 啤酒和尿布 91

6.2 关联规则学习工作原理 92

6.2.1 支持度 92

6.2.2 置信度 93

6.2.3 提升度 93

6.2.4 确信度 93

6.2.5 计算步骤 94

6.3 算法 94

6.3.1 Apiori 94

6.3.2 FP-Growth 95

6.4 基于购物篮分析的实战 95

6.4.1 下载原始数据 95

6.4.2 在Eclipse中搭建工程 96

6.4.3 建立项目的数据文件 97

6.4.4 设置数据 99

6.4.5 运行Mahout 101

6.4.6 检查结果 103

6.4.7 结果整合 105

6.4.8 进一步开发 106

6.5 总结 106

第7章 支持向量机 107

7.1 什么是支持向量机 107

7.2 何处使用支持向量机 107

7.3 基本分类原则 108

7.3.1 二分类和多分类 108

7.3.2 线性分类器 109

7.3.3 置信度 109

7.3.4 最大化或最小化寻找直线 110

7.4 支持向量机如何实现分类 110

7.4.1 使用线性分类 110

7.4.2 使用非线性分类 112

7.5 在Weka中使用支持向量机 112

7.5.1 安装LibSVM 112

7.5.2 分类演示 113

7.5.3 用Java实现LibSVM 117

7.6 总结 122

第8章 聚类 123

8.1 什么是聚类 123

8.2 聚类应用 123

8.2.1 因特网 124

8.2.2 商业和零售业 124

8.2.3 执法部门 124

8.2.4 计算 124

8.3 聚类模型 125

8.3.1 k-均值的工作原理 125

8.3.2 计算一个数据集中聚类的数量 126

8.4 使用Weka做k-均值聚类 127

8.4.1 准备数据 128

8.4.2 工作台方法 129

8.4.3 命令行方法 133

8.4.4 编程方法 135

8.5 总结 143

第9章 实时机器学习——使用Spring XD框架 144

9.1 获取消防水管式的数据 144

9.1.1 使用实时数据的注意事项 144

9.1.2 实时系统的使用范围 145

9.2 使用Spring XD 146

9.2.1 Spring XD数据流 146

9.2.2 输入源、输出、处理单元 147

9.3 从Twitter数据中进行学习 148

9.3.1 开发计划 149

9.3.2 配置Twitter API开发者应用环境 150

9.4 配置Spring XD 152

9.4.1 启动Spring XD服务器 152

9.4.2 创建样本数据 153

9.4.3 Spring XD shell 153

9.4.4 数据流入门 154

9.5 Spring XD和Twitter 156

9.5.1 设置Twitter访问认证 156

9.5.2 创建第一个Twitter数据流 157

9.5.3 我们所在的位置 159

9.6 处理单元介绍 159

9.6.1 处理单元是如何工作的 160

9.6.2 创建自己的处理单元 160

9.7 实时情感分析 167

9.7.1 基本的分析如何工作 168

9.7.2 创建情感分析的处理单元 169

9.7.3 Spring XD Taps 172

9.8 总结 173

第10章 批处理系统的机器学习 174

10.1 这个是大数据吗 174

10.2 对批处理数据的若干考虑 175

10.2.1 量级和频率 175

10.2.2 需要多少数据 175

10.2.3 用何种处理方法 176

10.3 批处理实例 176

10.3.1 Hadoop 176

10.3.2 Sqoop 176

10.3.3 Pig 177

10.3.4 Mahout 177

10.3.5 基于云的Elastic Map Reduce 177

10.3.6 关于教程的提示 177

10.4 使用Hadoop框架 178

10.4.1 Hadoop架构 178

10.4.2 建立单一节点集群 179

10.5 MapReduce是如何工作的 183

10.6 挖掘标签 184

10.6.1 Hadoop支持Spring XD 184

10.6.2 本书的目标 185

10.6.3 什么是标签 185

10.6.4 建立MapReduce类 186

10.6.5 在现有数据上运行ETL 195

10.6.6 使用Mahout生成推荐 198

10.7 挖掘销售数据 204

10.7.1 欢迎来到我的咖啡店 204

10.7.2 小规模(数据)尝试 205

10.7.3 编写核心方法 205

10.7.4 使用Hadoop和MapReduce 207

10.7.5 使用Pig挖掘销售数据 210

10.8 规划批处理任务 218

10.9 总结 219

第11章 Apache Spark 221

11.1 Spark是不是Hadoop的替代品 221

11.2 Java、Scala还是Python 222

11.3 Scala速成 222

11.3.1 安装Scala 222

11.3.2 包 222

11.3.3 数据类型 223

11.3.4 类 223

11.3.5 调用函数 224

11.3.6 操作符 224

11.3.7 控制结构 224

11.4 下载和安装Spark 225

11.5 Spark简介 225

11.5.1 启动命令行终端 226

11.5.2 数据源 227

11.5.3 Spark初体验 227

11.5.4 Spark监控 229

11.6 Spark与Hadoop MapReduce 229

11.7 在Spark下编写独立运行的程序 232

11.7.1 用Scala编写Spark程序 232

11.7.2 安装SBT 232

11.7.3 用Java编写Spark程序 235

11.7.4 Spark程序小结 238

11.8 Spark SQL 238

11.8.1 基本概念 238

11.8.2 在RDD中使用SparkSQL 239

11.9 Spark流处理框架 247

11.9.1 基本概念 247

11.9.2 用Scala编写第一个流处理程序 248

11.9.3 用Java编写第一个流处理程序 250

11.10 MLib:机器学习算法库 252

11.10.1 依赖 253

11.10.2 决策树 253

11.10.3 聚类 254

11.11 总结 254

第12章 基于R语言的机器学习 255

12.1 安装R 255

12.1.1 Mac OS X 255

12.1.2 Windows 255

12.1.3 Linux 256

12.2 第一次运行R 256

12.3 安装RStudio 257

12.4 R基础 258

12.4.1 变量和向量 258

12.4.2 矩阵 258

12.4.3 列表 259

12.4.4 数据框 260

12.4.5 安装包 261

12.4.6 加载数据 262

12.4.7 绘制数据 263

12.5 简单统计 266

12.6 简单线性回归 267

12.6.1 构建数据 267

12.6.2 初始图 267

12.6.3 线性回归模型 268

12.6.4 预测 268

12.7 基本情感分析 269

12.7.1 加载词汇表的函数 269

12.7.2 编写函数给情感打分 269

12.7.3 函数测试 270

12.8 Apriori关联规则 271

12.8.1 安装arules包 271

12.8.2 训练数据 271

12.8.3 导入事务数据 272

12.8.4 运行Apriori算法 273

12.8.5 查看结果 273

12.9 从Java中访问R 273

12.9.1 安装rJava包 274

12.9.2 R中的第一段Java代码 274

12.9.3 创建一个Eclipse项目 275

12.9.4 创建Java/R类 276

12.9.5 运行示例 276

12.9.6 扩展R实现 278

12.10 R与Hadoop 278

12.10.1 RHadoop项目 278

12.10.2 在RHadoop上的Map Reduce任务示例 279

12.10.3 用R连接社交媒体 280

12.11 总结 282

附录A Spring XD快速入门 284

附录B Hadoop 1.x快速入门 286

附录C 常用UNIX命令 289

附录D 进一步阅读 299