机器学习实战
查字典图书网
当前位置: 查字典 > 图书网 > 编程> 机器学习实战

机器学习实战

8.2

作者: Peter Harrington
出版社: 人民邮电出版社
原作名: Machine Learning in Action
译者: 曲亚东  |  李锐  |  王斌  |  李鹏
出版年: 2013-6
页数: 332
定价: 69.00元
丛书: 图灵程序设计丛书
ISBN: 9787115317957



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存、谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。

本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。

全书通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高级的功能,如汇总和简化等。

作者简介:

Peter Harrington

拥有电气工程学士和硕士学位,他曾经在美国加州和中国的英特尔公司工作7年。Peter拥有5项美国专利,在三种学术期刊上发表过文章。他现在是Zillabyte公司的首席科学家,在加入该公司之前,他曾担任2年的机器学习软件顾问。Peter在业余时间还参加编程竞赛和建造3D打印机。

目录:

目 录

第一部分 分类

第1章 机器学习基础2

1.1  何谓机器学习3

1.1.1  传感器和海量数据4

1.1.2  机器学习非常重要5

1.2  关键术语5

1.3  机器学习的主要任务7

1.4  如何选择合适的算法8

1.5  开发机器学习应用程序的步骤9

1.6  Python语言的优势10

1.6.1  可执行伪代码10

1.6.2  Python比较流行10

1.6.3  Python语言的特色11

1.6.4  Python语言的缺点11

1.7  NumPy函数库基础12

1.8  本章小结13

第2章 k-近邻算法 15

2.1  k-近邻算法概述15

2.1.1  准备:使用Python导入数据17

2.1.2  从文本文件中解析数据19

2.1.3  如何测试分类器20

2.2  示例:使用k-近邻算法改进约会网站的配对效果20

2.2.1  准备数据:从文本文件中解析数据21

2.2.2  分析数据:使用Matplotlib创建散点图23

2.2.3  准备数据:归一化数值25

2.2.4  测试算法:作为完整程序验证分类器26

2.2.5  使用算法:构建完整可用系统27

2.3  示例:手写识别系统28

2.3.1  准备数据:将图像转换为测试向量29

2.3.2  测试算法:使用k-近邻算法识别手写数字30

2.4  本章小结31

第3章 决策树 32

3.1  决策树的构造33

3.1.1  信息增益35

3.1.2  划分数据集37

3.1.3  递归构建决策树39

3.2  在Python中使用Matplotlib注解绘制树形图42

3.2.1  Matplotlib注解43

3.2.2  构造注解树44

3.3  测试和存储分类器48

3.3.1  测试算法:使用决策树执行分类49

3.3.2  使用算法:决策树的存储50

3.4  示例:使用决策树预测隐形眼镜类型50

3.5  本章小结52

第4章 基于概率论的分类方法:朴素贝叶斯 53

4.1  基于贝叶斯决策理论的分类方法53

4.2  条件概率55

4.3  使用条件概率来分类56

4.4  使用朴素贝叶斯进行文档分类57

4.5  使用Python进行文本分类58

4.5.1  准备数据:从文本中构建词向量58

4.5.2  训练算法:从词向量计算概率60

4.5.3  测试算法:根据现实情况修改分类器62

4.5.4  准备数据:文档词袋模型64

4.6  示例:使用朴素贝叶斯过滤垃圾邮件64

4.6.1  准备数据:切分文本65

4.6.2  测试算法:使用朴素贝叶斯进行交叉验证66

4.7  示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向68

4.7.1  收集数据:导入RSS源68

4.7.2  分析数据:显示地域相关的用词71

4.8  本章小结72

第5章 Logistic回归 73

5.1  基于Logistic回归和Sigmoid函数的分类74

5.2  基于最优化方法的最佳回归系数确定75

5.2.1  梯度上升法75

5.2.2  训练算法:使用梯度上升找到最佳参数77

5.2.3  分析数据:画出决策边界79

5.2.4  训练算法:随机梯度上升80

5.3  示例:从疝气病症预测病马的死亡率85

5.3.1  准备数据:处理数据中的缺失值85

5.3.2  测试算法:用Logistic回归进行分类86

5.4  本章小结88

第6章 支持向量机89

6.1  基于最大间隔分隔数据89

6.2  寻找最大间隔91

6.2.1  分类器求解的优化问题92

6.2.2  SVM应用的一般框架93

6.3  SMO高效优化算法94

6.3.1  Platt的SMO算法94

6.3.2  应用简化版SMO算法处理小规模数据集94

6.4  利用完整Platt SMO算法加速优化99

6.5  在复杂数据上应用核函数105

6.5.1  利用核函数将数据映射到高维空间106

6.5.2  径向基核函数106

6.5.3  在测试中使用核函数108

6.6  示例:手写识别问题回顾111

6.7  本章小结113

第7章 利用AdaBoost元算法提高分类

性能 115

7.1  基于数据集多重抽样的分类器115

7.1.1  bagging:基于数据随机重抽样的分类器构建方法116

7.1.2  boosting116

7.2  训练算法:基于错误提升分类器的性能117

7.3  基于单层决策树构建弱分类器118

7.4  完整AdaBoost算法的实现122

7.5  测试算法:基于AdaBoost的分类124

7.6  示例:在一个难数据集上应用AdaBoost125

7.7  非均衡分类问题127

7.7.1  其他分类性能度量指标:正确率、召回率及ROC曲线128

7.7.2  基于代价函数的分类器决策控制131

7.7.3  处理非均衡问题的数据抽样方法132

7.8  本章小结132

第二部分 利用回归预测数值型数据

第8章 预测数值型数据:回归 136

8.1  用线性回归找到最佳拟合直线136

8.2  局部加权线性回归141

8.3  示例:预测鲍鱼的年龄145

8.4  缩减系数来“理解”数据146

8.4.1  岭回归146

8.4.2  lasso148

8.4.3  前向逐步回归149

8.5  权衡偏差与方差152

8.6  示例:预测乐高玩具套装的价格153

8.6.1  收集数据:使用Google购物的API153

8.6.2  训练算法:建立模型155

8.7  本章小结158

第9章 树回归159

9.1  复杂数据的局部性建模159

9.2  连续和离散型特征的树的构建160

9.3  将CART算法用于回归163

9.3.1  构建树163

9.3.2  运行代码165

9.4  树剪枝167

9.4.1  预剪枝167

9.4.2  后剪枝168

9.5  模型树170

9.6  示例:树回归与标准回归的比较173

9.7  使用Python的Tkinter库创建GUI176

9.7.1  用Tkinter创建GUI177

9.7.2  集成Matplotlib和Tkinter179

9.8  本章小结182

第三部分 无监督学习

第10章 利用K-均值聚类算法对未标注数据分组184

10.1  K-均值聚类算法185

10.2  使用后处理来提高聚类性能189

10.3  二分K-均值算法190

10.4  示例:对地图上的点进行聚类193

10.4.1  Yahoo! PlaceFinder API194

10.4.2  对地理坐标进行聚类196

10.5  本章小结198

第11章 使用Apriori算法进行关联分析200

11.1  关联分析201

11.2  Apriori原理202

11.3  使用Apriori算法来发现频繁集204

11.3.1  生成候选项集204

11.3.2  组织完整的Apriori算法207

11.4  从频繁项集中挖掘关联规则209

11.5  示例:发现国会投票中的模式212

11.5.1  收集数据:构建美国国会投票记录的事务数据集213

11.5.2  测试算法:基于美国国会投票记录挖掘关联规则219

11.6  示例:发现毒蘑菇的相似特征220

11.7  本章小结221

第12章 使用FP-growth算法来高效发现频繁项集223

12.1  FP树:用于编码数据集的有效方式224

12.2  构建FP树225

12.2.1  创建FP树的数据结构226

12.2.2  构建FP树227

12.3  从一棵FP树中挖掘频繁项集231

12.3.1  抽取条件模式基231

12.3.2  创建条件FP树232

12.4  示例:在Twitter源中发现一些共现词235

12.5  示例:从新闻网站点击流中挖掘238

12.6  本章小结239

第四部分 其他工具

第13章 利用PCA来简化数据242

13.1  降维技术242

13.2  PCA243

13.2.1  移动坐标轴243

13.2.2  在NumPy中实现PCA246

13.3  示例:利用PCA对半导体制造数据降维248

13.4  本章小结251

第14章 利用SVD简化数据252

14.1  SVD的应用252

14.1.1  隐性语义索引253

14.1.2  推荐系统253

14.2  矩阵分解254

14.3  利用Python实现SVD255

14.4  基于协同过滤的推荐引擎257

14.4.1  相似度计算257

14.4.2  基于物品的相似度还是基于用户的相似度?260

14.4.3  推荐引擎的评价260

14.5  示例:餐馆菜肴推荐引擎260

14.5.1  推荐未尝过的菜肴261

14.5.2  利用SVD提高推荐的效果263

14.5.3  构建推荐引擎面临的挑战265

14.6  基于SVD的图像压缩266

14.7  本章小结268

第15章 大数据与MapReduce270

15.1  MapReduce:分布式计算的框架271

15.2  Hadoop流273

15.2.1  分布式计算均值和方差的mapper273

15.2.2  分布式计算均值和方差的reducer274

15.3  在Amazon网络服务上运行Hadoop程序275

15.3.1  AWS上的可用服务276

15.3.2  开启Amazon网络服务之旅276

15.3.3  在EMR上运行Hadoop作业278

15.4  MapReduce上的机器学习282

15.5  在Python中使用mrjob来自动化MapReduce283

15.5.1  mrjob与EMR的无缝集成283

15.5.2  mrjob的一个MapReduce脚本剖析284

15.6  示例:分布式SVM的Pegasos算法286

15.6.1  Pegasos算法287

15.6.2  训练算法:用mrjob实现MapReduce版本的SVM288

15.7  你真的需要MapReduce吗?292

15.8  本章小结292

附录A  Python入门294

附录B  线性代数303

附录C  概率论复习309

附录D  资源312

索引313

版权声明316

文章试读:在过去的半个世纪里,发达国家的多数工作岗位都已从体力劳动转化为脑力劳动。过去的工作基本上都有明确的定义,类似于把物品从A处搬到B处,或者在这里打个洞,但是现在这类工作都在逐步消失。现今的情况具有很大的二义性,类似于“最大化利润”,“最小化风险”、“找到最好的市场策略”……诸如此类的任务要求都已成为常态。虽然可从互联网上获取到海量数据,但这并没有简化知识工人的工作难度。针对具体任务搞懂所有相关数据的...

(查看全部试读)

展开全文
热门标签:
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •