内容简介
本书共12章:第1章介绍机器学习的基本概念和理论,并介绍用于机器学习的R软件环境的准备;第2章介绍如何应用R来管理数据,进行数据的探索分析和数据可视化;第3~9章介绍典型的机器学习算法,包括k近邻分类算法、朴素贝叶斯算法、决策树和规则树、回归预测、黑盒算法——神经网络和支持向量机、关联分析、k均值聚类,并给出大量的实际案例和详细的分析步骤,例如乳腺癌的判断、垃圾短信的过滤、贷款违约的预测、毒蘑菇的判别、医疗费用的预测、建筑用混凝土强度的预测、光学字符的识别、超市购物篮关联分析以及市场细分等;第10章介绍模型性能评价的原理和方法;第11章给出提高模型性能的几种常用方法;第12章讨论用R进行机器学习时可能遇到的一些高级专题,如特殊形式的数据、大数据集的处理、并行计算和GPU计算等技术。
目录
推荐序
译者序
前言
关于审稿人
第1章 机器学习简介1
1.1 机器学习的起源1
1.2 机器学习的使用与滥用3
1.2.1 机器学习的成功使用3
1.2.2 机器学习的限制4
1.2.3 机器学习的伦理方面5
1.3 机器如何学习6
1.3.1 数据存储7
1.3.2 抽象化7
1.3.3 一般化9
1.3.4 评估10
1.4 实践中的机器学习11
1.4.1 输入数据的类型11
1.4.2 机器学习算法的类型12
1.4.3 为输入数据匹配算法14
1.5 使用R进行机器学习15
1.5.1 安装R添加包15
1.5.2 载入和卸载R添加包16
1.6 总结16
第2章 数据的管理和理解18
2.1 R数据结构18
2.1.1 向量18
2.1.2 因子20
2.1.3 列表21
2.1.4 数据框23
2.1.5 矩阵和数组25
2.2 用R管理数据27
2.2.1 保存、载入和移除R数据结构27
2.2.2 用CSV文件导入和保存数据28
2.3 探索和理解数据29
2.3.1 探索数据的结构29
2.3.2 探索数值变量30
2.3.3 探索分类变量38
2.3.4 探索变量之间的关系40
2.4 总结43
第3章 懒惰学习—使用近邻分类44
3.1 理解近邻分类44
3.1.1 kNN算法45
3.1.2 为什么kNN算法是懒惰的50
3.2 例子—用kNN算法诊断乳腺癌51
3.2.1 第1步—收集数据51
3.2.2 第2步—探索和准备数据52
3.2.3 第3步—基于数据训练模型55
3.2.4 第4步—评估模型的性能56
3.2.5 第5步—提高模型的性能57
3.3 总结59
第4章 概率学习—朴素贝叶斯分类60
4.1 理解朴素贝叶斯60
4.1.1 贝叶斯方法的基本概念61
4.1.2 朴素贝叶斯算法65
4.2 例子—基于贝叶斯算法的手机垃圾短信过滤69
4.2.1 第1步—收集数据69
4.2.2 第2步—探索和准备数据70
4.2.3 第3步—基于数据训练模型81
4.2.4 第4步—评估模型的性能82
4.2.5 第5步—提高模型的性能83
4.3 总结84
第5章 分而治之—应用决策树和规则进行分类85
5.1 理解决策树85
5.1.1 分而治之86
5.1.2 C5.0决策树算法89
5.2 例子—使用C5.0决策树识别高风险银行贷款91
5.2.1 第1步—收集数据92
5.2.2 第2步—探索和准备数据92
5.2.3 第3步—基于数据训练模型94
5.2.4 第4步—评估模型的性能97
5.2.5 第5步—提高模型的性能97
5.3 理解分类规则101
5.3.1 独立而治之101
5.3.2 1R算法103
5.3.3 RIPPER算法104
5.3.4 来自决策树的规则105
5.3.5 什么使决策树和规则贪婪106
5.4 例子—应用规则学习算法识别有毒的蘑菇108
5.4.1 第1步—收集数据108
5.4.2 第2步—探索和准备数据108
5.4.3 第3步—基于数据训练模型109
5.4.4 第4步—评估模型的性能111
5.4.5 第5步—提高模型的性能112
5.5 总结114
第6章 预测数值型数据—回归方法115
6.1 理解回归115
6.1.1 简单线性回归117
6.1.2 普通最小二乘估计119
6.1.3 相关性120
6.1.4 多元线性回归121
6.2 例子—应用线性回归预测医疗费用124
6.2.1 第1步—收集数据124
6.2.2 第2步—探索和准备数据125
6.2.3 第3步—基于数据训练模型129
6.2.4 第4步—评估模型的性能131
6.2.5 第5步—提高模型的性能132
6.3 理解回归树和模型树134
6.4 例子—用回归树和模型树估计葡萄酒的质量136
6.4.1 第1步—收集数据137
6.4.2 第2步—探索和准备数据137
6.4.3 第3步—基于数据训练模型139
6.4.4 第4步—评估模型的性能142
6.4.5 第5步—提高模型的性能143
6.5 总结145
第7章 黑箱方法—神经网络和支持向量机147
7.1理解神经网络147
7.1.1从生物神经元到人工神经元148
7.1.2激活函数149
7.1.3网络拓扑151
7.1.4用后向传播训练神经网络154
7.2例子—用人工神经网络对混凝土的强度进行建模155
7.2.1第1步—收集数据155
7.2.2第2步—探索和准备数据156
7.2.3第3步—基于数据训练模型157
7.2.4第4步—评估模型的性能159
7.2.5第5步—提高模型的性能159
7.3理解支持向量机161
7.3.1用超平面分类161
7.3.2对非线性空间使用核函数164
7.4例子—用支持向量机进行光学字符识别166
7.4.1第1步—收集数据166
7.4.2第2步—探索和准备数据167
7.4.3第3步—基于数据训练模型168
7.4.4第4步—评估模型的性能170
7.4.5第5步—提高模型的性能171
7.5总结172
第8章 探寻模式—基于关联规则的购物篮分析173
8.1理解关联规则173
8.1.1用于关联规则学习的Apriori算法174
8.1.2度量规则兴趣度—支持度和置信度175
8.1.3用Apriori原则建立规则176
8.2例子—用关联规则确定经常一起购买的食品杂货177
8.2.1第1步—收集数据177
8.2.2第2步—探索和准备数据178
8.2.3第3步—基于数据训练模型183
8.2.4第4步—评估模型的性能185
8.2.5第5步—提高模型的性能187
8.3总结190
第9章 寻找数据的分组—k均值聚类191
9.1理解聚类191
9.1.1聚类—一种机器学习任务192
9.1.2k均值聚类算法193
9.2例子—用k均值聚类探寻青少年市场细分198
9.2.1第1步—收集数据199
9.2.2第2步—探索和准备数据199
9.2.3第3步—基于数据训练模型203
9.2.4第4步—评估模型的性能205
9.2.5第5步—提高模型的性能207
9.3总结208
前言/序言
机器学习的核心是将信息转化为具有可行性的情报的算法。这一事实使得机器学习非常适用于当今的大数据时代。如果没有机器学习,要跟上海量的信息数据流几乎是不可能的。
鉴于R不断增长的地位(R是一个跨平台的、零成本的统计编程环境),现在是开始使用机器学习的最好时代。R提供了一套功能强大且易于学习的工具,这些工具可以帮助你发现数据背后隐藏的信息。
通过把实践案例研究与基本理论(你需要理解这些理论在后台是如何运行的)相结合,本书提供了将机器学习应用到项目中所需要的全部知识。
本书涵盖的内容第1章介绍了用来定义和区分机器学习算法的术语和概念,并给出了将学习任务与适当算法相匹配的方法。
第2章提供了一个在R中自己实际动手操作数据的机会,并讨论了基本的数据结构以及用于载入、探索和理解数据的程序。
第3章教你如何将一个简单且功能强大的学习算法应用于你的第一个学习任务:识别癌症的恶性样本。
第4章揭示了用于先进的垃圾邮件过滤系统的概率的基本概念,并且在建立你自己的垃圾邮件过滤器的过程中,你将学习文本挖掘的基本知识。
第5章探索两种学习算法,它们的预测不仅精确而且容易解释。我们将把这两种算法应用于对透明度要求很高的任务中。
第6章介绍了用于数值预测的机器学习算法。由于这些技术在很大程度上来源于统计领域,所以你还将通过学习必要的基本指标来理解数值之间的关系。
第7章包括两个极其复杂但功能强大的机器学习算法。尽管数学可能会让人望而生畏,但是我们将以简单的术语,结合实际例子来说明它们内部的运作原理。
第8章揭示了许多零售商使用的推荐系统的算法。如果你想知道零售商是如何比你自己更了解你的购物习惯的,本章将揭示他们的秘密。
第9章介绍k均值聚类。该算法用来查找相关个体的聚类。我们将使用该算法来确定一个网络社区内的分布。
第10章提供了度量机器学习项目是否成功的信息,并提供了机器学习算法在未来数据上性能的可靠估计。
第11章揭示了在机器学习竞赛中排名最靠前的团队所采用的方法。如果你具有竞争意识,或者仅仅想获取数据中尽可能多的信息,那么需要学习这些技术。
第12章探讨了机器学习的前沿主题。从使用大数据到使R的运行速度更快,涉及的这些主题将帮助你拓展使用R进行数据挖掘的界限。
学习本书的知识准备本书中的例子是基于Microsoft Windows和Mac OS X系统的R 3.2.0进行编写与测试的,当然,对于任意最新的R版本,这些例子基本上都能运行。
本书读者对象本书适用于任何希望使用数据来采取行动的人。或许你已经对机器学习有些了解但从来没有使用过R,或许你已经对R有些了解但机器学习对于你来说是全新的知识,无论何种情况,本书将让你快速上手。稍微熟悉一些基本的数学和编程概念将是有帮助的,但先前的经验并不是必需的,你只需要有好奇心就行。
本书约定在本书中,你将发现一些用于区分不同类型信息的文本样式。下面是这些样式的一些例子,以及它们的含义解释。
文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄如下所示:“安装一个添加包的最直接方式是通过install.packages()函数。”
代码段如下所示:
任何命令行输入或输出如下所示:
新的术语(new term)和重要词汇(important word)以黑体显示。你在屏幕上看到的单词,例如,在菜单或对话框中看到的单词,像这样出现在文本中:“CRAN页面左边的任务视图链接提供添加包的长列表。”
警告或者重要注释。
提示和技巧。
致谢没有家人和朋友的支持,编写本书根本是不可能的。特别地,我要非常感谢我的妻子Jessica在过去的一年中对我的耐心与鼓励。在我的儿子Will出生时第1版的写作正在进行中,在我的写作中他分散了我较多的精力,在本书出版后他很快就要成长为一名大男孩。不知道是相关还是因果,仿佛每次我打开本书,我的家人都会在我的眼前出现!我把本书献给我的孩子们,希望有一天他们能从中受到启发,应对重大的挑战,并跟随他们的好奇心,无论他们的好奇心会通向哪里。
我还要感谢支持本书的很多人。本书的很多想法来源于我与密歇根大学、圣母大学以及中佛罗里达大学的教育工作者、同事以及合作者的互动。此外,如果没有各位研究人员以公开出版物、课程和源代码的形式分享他们的专业知识,本书可能根本就不会存在。最后,我要感谢R团队和所有那些贡献R添加包的人员的努力,是他们的努力最终为大家普及了机器学习。我真心希望我的研究是机器学习这块马赛克中有价值的一片图案。
译 者 序随着大数据的概念变得越来越流行,对数据的探索、分析和预测成为大数据分析领域的基本技能之一。作为探索和分析数据的基本理论和工具,机器学习和数据挖掘成为时下热门的技术。R作为功能强大且免费的数据分析工具,在数据分析领域获得了越来越多用户的青睐。本书介绍了如何使用R来进行现实世界中的机器学习,如何从数据中获取可以付诸行动的见解。
本书的作者Brett Lantz在机器学习领域具有十余年的实践经验。本书介绍了多种机器学习算法。在给出相应的机器学习算法的核心理论之后,随后都给出了一个实际的案例,从对案例数据的探索、整理,到模型的建立和模型的评估,每一步都给出了详尽的步骤和R代码。
本书共分12章。第1章介绍了机器学习的基本概念和理论,并介绍了用于机器学习的R软件环境的准备。第2章介绍了如何应用R来管理数据,进行数据的探索分析和数据可视化。第3章到第9章介绍了典型的机器学习算法和案例,它们分别是:k近邻分类算法、朴素贝叶斯算法、决策树和规则树、回归预测、黑盒算法—神经网络和支持向量机、关联分析、k均值聚类。伴随着这些算法的介绍,书中给出了大量的实际案例,并给出了详细的分析步骤,案例包括乳腺癌的判断、垃圾短信的过滤、贷款违约的预测、毒蘑菇的判别、医疗费用的预测、建筑用混凝土强度的预测、光学字符的识别、购物篮关联分析以及市场细分等。第10章介绍了模型性能评价的原理和方法。第11章给出了提高模型性能的几种常用方法。第12章讨论了用R进行机器学习时可能遇到的一些高级专题,例如特殊形式的数据、大数据集的处理、并行计算和GPU计算等技术。
R本身是一款十分优秀的数据分析和数据可视化软件,现在R中有大量用于机器学习的添加包。本书以机器学习算法为主线,通过案例学习的形式来组织内容,脉络清晰,并且各章自成体系。读者可以从头逐章学习,也可以找到自己所需要的内容来进行学习。读者只需要具有R的一些基本知识即可,不需要具备机器学习的深厚基础。不管是R初学者,还是熟练的R用户,都能从书中找到对自己有用的内容。
译者曾经应用本书的部分内容进行教学,学生都反映这些内容具有极强的实用价值,许多内容直接或者略加修改就可以应用到他们的实际工作中。我们有幸受机械工业出版社委托将此书译成中文,希望中文版的出版能够给国内读者学习R与机器学习带来方便。
在本书的翻译过程中,得到了缪杰和王春华两位编辑的大力支持和帮助,本书的编辑盛思源老师具有丰富的经验,为本书的出版付出了大量的劳动,这里对他们的支持和帮助表示衷心的感谢。本书的翻译工作由李洪成、许金炜和李舰共同完成,潘文捷参与了本书的部分工作,全书由李洪成统一定稿。
由于时间和水平所限,难免会有不当之处,希望同行和读者多加指正。
李洪成
机器学习与R语言(原书第2版) 电子书 下载 mobi epub pdf txt