首页>参考读物>计算机科学与技术>人工智能

机器学习入门:Python语言实现
作者 : [美] 奥斯瓦尔德·坎佩萨托(Oswald Campesato)著
译者 : 赵国光 白领 译
出版日期 : 2021-11-16
ISBN : 978-7-111-69524-0
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 243
开本 : 16
原书名 : Python 3 for Machine Learning
原出版社: Mercury Learning & Information
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书旨在为读者提供与机器学习有关Python3的基本编程概念。前4章快速介绍了Python 3、NumPy和Pandas。第5章介绍了机器学习的基本概念。第6章主要介绍机器学习分类器,例如逻辑回归、kNN、决策树、随机森林和SVM。第7章介绍了自然语言处理和强化学习。本书还提供了基于Keras的代码示例作为理论讨论的补充。此外还为正则表达式、Keras和TensorFlow 2提供了单独的附录。

图书特色

图书前言

本书的价值主张是什么
本书致力于在篇幅允许的范围内提供尽可能充分、翔实的Python和机器学习的相关内容。
充分利用本书
一些程序员善于从文章中学习,另一些程序员善于从示例代码(大量代码)中学习,这意味着没有一种通用学习方式可以供所有人使用。
此外,一些程序员希望先运行代码,看看代码产生了什么结果,然后再回到代码来深入研究细节(另一些程序员则使用相反的方法)。
所以本书有各种类型的代码示例:有短有长,还有一些则是基于早先的代码示例“构建”的。
为什么不包含软件安装说明
很多网站都有针对不同平台的Python安装说明。本书避免重复这些说明,而把这些篇幅用于介绍Python相关材料。总之,本书试图避免“灌输”内容,并避免出现从网上可轻易获得的设置步骤。
本书的代码是怎样被测试的
本书的代码示例已经在安装了OS X 10.8.5的Macbook Pro上的Python 3.6.8版本中进行了测试。
阅读本书,需要先了解什么
最有用的先决条件是一定要熟悉一种脚本语言,例如Perl或PHP。其他编程语言(例如Java)的知识也会有所帮助,因为会从中接触到编程概念和结构。所掌握的技术知识越少,则越需要更多的努力才能理解本书涉及的各个主题。机器学习的基础知识很有帮助,但不是必需的。
如果想确保能够掌握本书的内容,可以先浏??览一些代码示例,以便于了解哪些是熟悉的内容,哪些是新知识。
为什么本书没有那么厚
本书的目标读者涵盖从编程语言的初学者到中级程序员。在编写过程中,我尽量满足目标读者准备自学更多Python高级特性的需要。
为什么各章中有那么多代码示例
不论哪种形式的论述,首要原则就是“行胜于言”。尽管并未囿于该规则的字面意思,但本书的确以此作为目标:先展示,再解释。你可以通过一个简单的实验来自己判断“先展示,再解释”是否在本书中得到贯彻:当读到本书中的代码示例和配套的图形展示时,请确定其是否更有效地呈现了视觉效果或展示了相关主题。俗话说得好,一图胜千言,本书将尽可能地做到图文并茂。
补充文件是否可以取代本书
补充文件包含了所有代码示例,避免了因手动输入代码到文本文件产生错误而消耗的时间和精力。但是本书提供了相应的配套解释,有助于读者理解代码示例一。
本书是否包含生产级代码示例
代码示例展示了Python 3针对机器学习的一些有用特性。对于本书,相比于编写更紧凑的代码(更难于理解且更容易出现错误),我们更注重代码的清晰度。如果读者决定在生产环境中使用本书中的任何代码,则需要按照你自有的代码库进行相同的严格分析。

上架指导

计算机\人工智能

封底文字

本书向读者介绍与机器学习相关的Python 3的基本编程概念。首先简要介绍Python 3、NumPy和Pandas;然后介绍机器学习的基本概念;之后主要介绍机器学习分类器,例如逻辑回归、kNN、决策树、随机森林和SVM;最后介绍自然语言处理和强化学习。本书还提供了基于Keras的代码示例,介绍了正则表达式、Keras和TensorFlow 2的相关知识。

本书特色

·代码示例与文字讲解相结合。
·以Python为基础讲解机器学习的关键概念、常用算法和典型应用。
·从工程角度介绍两个机器学习框架:Keras和TensorFlow 2。

作者简介

[美] 奥斯瓦尔德·坎佩萨托(Oswald Campesato)著:奥斯瓦尔德·坎佩萨托(Oswald Campesato)专门研究深度学习、Java、Android和TensorFlow。他是25本书的作者/合著者,其中包括TensorFlow Pocket Primer、Artificial Intelligence, Machine Learning, and Deep Learning和Python Pocket Primer。

译者序

随着数据获取、存储与计算技术的快速发展,机器学习的浪潮也随之来临,并逐渐在互联网、金融、机器视觉、自然语言处理等许多领域产生了各种应用。在产业升级的大背景下,有越来越多的场景需要改造,人们自然而然地把目光投向了科技,希望通过技术升级来提高效率。机器学习作为其中的一股重要力量,在未来会以更加汹涌的方式影响社会的各个方面。
需求的另一面是供给,机器学习的广泛应用需要大量的技术工程人员。然而经过几十年的发展,机器学习已经成为一个非常庞大的学科领域,涉及大量的概念和原理,以及很多工程上的框架。面对这样一个庞然大物,许多打算从事这方面工作的技术人员感到无所适从。市面上有很多优秀的机器学习方面的著作,对机器学习的数学理论和应用场景进行了详尽论述。本书也是从应用的角度带领大家进入机器学习的世界,让读者通过实践来加强基础理论。
本书的特点是代码示例与文字讲解相结合,以Python为基础讲解机器学习的关键概念、常用算法和典型应用,并从工程角度介绍两个机器学习框架——Keras和TensorFlow 2,还覆盖了Python语言基础、机器学习、框架等相关知识。
译者在翻译本书时力求忠于原文、表达简练,并对书中所讲内容反复核查,对代码示例逐一执行以保证质量。但由于译者才疏学浅,书中难免存在一些错误或疏漏,恳请读者批评指正。
最后,希望本书的出版能够为机器学习的发展尽绵薄之力。

赵国光
2021年9月 北京

图书目录

译者序
前言
第1章 Python 3简介 1
1.1 Python相关工具与安装 1
1.1.1 Python相关工具 1
1.1.2 安装Python 3
1.1.3 设置PATH环境变量(仅Windows) 3
1.2 Python编程基础 3
1.2.1 Python交互式解释器 3
1.2.2 Python基础语法 4
1.2.3 以模块形式保存代码 6
1.2.4 Python中的一些标准模块 7
1.2.5 help(?)和dir(?)函数 7
1.2.6 编译时和运行时的代码检查 8
1.3 Python中的简单数据类型 9
1.3.1 数字 9
1.3.2 字符串 12
1.3.3 处理日期 19
1.4 Python中的异常处理 21
1.4.1 处理用户输入 22
1.4.2 命令行参数 24
1.5 小结 25
第2章 条件逻辑、循环和函数 26
2.1 Python中的条件逻辑 26
2.1.1 Python的保留关键字 27
2.1.2 Python运算符的优先级 28
2.1.3 比较运算符和布尔运算符 28
2.2 Python中的变量和参数 29
2.2.1 局部变量和全局变量 29
2.2.2 变量的作用域 29
2.2.3 引用传递和值传递 31
2.2.4 实参和形参 31
2.3 在Python中使用循环 32
2.3.1 Python中的for循环 32
2.3.2 Python中的while循环 39
2.4 Python中的用户自定义函数 41
2.4.1 在函数中设定默认值 42
2.4.2 具有可变参数的函数 42
2.4.3 lambda表达式 43
2.5 递归 44
2.5.1 计算阶乘值 44
2.5.2 计算斐波那契数 45
2.5.3 计算两个数的最大公约数 45
2.5.4 计算两个数的最小公倍数 46
2.6 小结 47
第3章 Python数据类型 48
3.1 列表 48
3.1.1 列表和基本操作 48
3.1.2 列表中的表达式 53
3.1.3 连接字符串列表 53
3.1.4 Python中的range(?)函数 54
3.1.5 数组和append(?)函数 55
3.1.6 使用列表和split(?)函数 56
3.1.7 对列表中的单词计数 56
3.1.8 遍历成对的列表 57
3.1.9 其他与列表相关的函数 57
3.1.10 栈和队列 59
3.1.11 使用向量 60
3.1.12 使用矩阵 61
3.1.13 使用NumPy库处理矩阵 61
3.2 元组(不可变列表) 62
3.3 集合 63
3.4 字典 64
3.4.1 创建字典及字典中的基本操作 65
3.4.2 字典的相关函数和方法 67
3.4.3 字典的格式 67
3.4.4 有序字典 67
3.5 Python中的其他数据类型 68
3.5.1 Python中的其他序列类型 68
3.5.2 Python中的可变类型和不可变类型 69
3.5.3 type(?)函数 70
3.6 小结 70
第4章 NumPy和Pandas介绍 71
4.1 NumPy 71
4.1.1 NumPy简介 71
4.1.2 NumPy数组 72
4.1.3 使用NumPy数组的示例 73
4.2 子范围 77
4.2.1 使用向量的“-1”子范围 77
4.2.2 使用数组的“-1”子范围 77
4.3 NumPy中其他有用的方法 78
4.3.1 数组和向量操作 79
4.3.2 NumPy和点积 79
4.3.3 NumPy和向量的“范数” 80
4.3.4 NumPy和向量的乘积 81
4.3.5 NumPy和reshape(?)方法 82
4.3.6 计算均值和标准差 83
4.4 Pandas 84
4.5 Pandas DataFrame的各种操作 89
4.5.1 合并Pandas DataFrame 89
4.5.2 使用Pandas DataFrame进行数据操作 90
4.5.3 Pandas DataFrame和CSV文件 93
4.5.4 Pandas DataFrame和Excel电子表格 95
4.5.5 选择、添加和删除DataFrame中的列 96
4.5.6 Pandas DataFrame和散点图 97
4.5.7 Pandas DataFrame和简单统计 98
4.5.8 Pandas中简单有用的命令 98
4.6 小结 100
第5章 机器学习 101
5.1 什么是机器学习 101
5.1.1 机器学习算法的类型 103
5.1.2 特征工程、特征选择和特征提取 105
5.1.3 降维 106
5.2 使用数据集 107
5.2.1 训练数据与测试数据 108
5.2.2 什么是交叉验证 108
5.2.3 正则化 108
5.2.4 偏差-方差的权衡 109
5.2.5 模型性能的衡量指标 109
5.3 线性回归 111
5.3.1 线性回归与曲线拟合 112
5.3.2 何时的解是准确值 112
5.3.3 什么是多元分析 112
5.3.4 其他类型的回归 113
5.3.5 平面中对直线的处理(选读) 113
5.4 求解线性回归问题的示例 116
5.4.1 使用NumPy和Matplotlib绘制散点图 116
5.4.2 MSE 119
5.4.3 Keras的线性回归 123
5.5 小结 126
第6章 机器学习中的分类器 127
6.1 分类器 127
6.1.1 什么是分类 127
6.1.2 线性分类器 129
6.1.3 kNN 129
6.1.4 决策树 130
6.1.5 随机森林 133
6.1.6 支持向量机 134
6.1.7 贝叶斯分类器 134
6.1.8 训练分类器 136
6.1.9 评估分类器 137
6.2 激活函数 137
6.2.1 什么是激活函数 137
6.2.2 常见的激活函数 139
6.2.3 ReLU和ELU激活函数 140
6.2.4 sigmoid、softmax和tanh的相似之处 141
6.2.5 sigmoid、softmax和hardmax的区别 142
6.3 逻辑回归 142
6.3.1 设置阈值 143
6.3.2 逻辑回归的重要假设 143
6.3.3 线性可分数据 143
6.4 Keras、逻辑回归和Iris数据集 143
6.5 小结 146
第7章 自然语言处理与强化学习 147
7.1 使用NLP 147
7.1.1 NLP技术 148
7.1.2 流行的NLP算法 151
7.1.3 ELMo、ULMFit、OpenAI、BERT和ERNIE 2.0 154
7.1.4 什么是Translatotron 156
7.1.5 NLU与NLG 156
7.2 强化学习 157
7.2.1 RL应用 157
7.2.2 NLP和RL 158
7.2.3 RL中的值、策略和模型 158
7.2.4 从NFA到MDP 159
7.2.5 ε贪心算法 160
7.2.6 贝尔曼方程 161
7.2.7 RL中的其他重要概念 162
7.3 RL工具包和框架 162
7.3.1 TF-Agents 163
7.3.2 深度RL 163
7.4 小结 164
附录A 正则表达式简介 165
附录B Keras介绍 186
附录C TF 2介绍 206

教学资源推荐
作者: 李玉鑑 张婷 等著
作者: [以] 谢伊·科恩(Shay Cohen)著
作者: [日]杉山将(Masashi Sugiyama) 著
参考读物推荐
作者: [美]特雷弗·格兰特(Trevor Grant),[加]霍尔顿·卡劳(Holden Karau),[俄]鲍里斯·卢布林斯基(Boris Lublinsky),[美]理查德·刘(Richard Liu),[美]伊兰·菲洛年科(Ilan Filonenko) 著
作者: [美] 埃里克·卡特(Eric Carter) 马修·赫斯特(Matthew Hurst)著
作者: 张雄伟 孙蒙 杨吉斌 等编著
作者: [美] 贝蒂·普林斯(Betty Prince), 戴维·普林斯(David Prince) 著