Python中文网

Python机器学习(原书第2版)

cnpython704

Python机器学习(原书第2版),由机械工业出版社在2018-12-01月出版发行,本书编译以及作者信息为: [美] 塞巴斯蒂安·拉施卡(Sebastian Raschka) 著,陈斌 译,这是第1次发行, 国际标准书号为:9787111611509,品牌为机工出版, 这本书采用平装开本为16开,纸张采为胶版纸,全书共有366页,字数万字,值得推荐。

此书内容摘要

机器学习与预测分析正在改变企业和其他组织的运作方式,本书将带领读者进入预测分析的世界。全书共16章,除了简要介绍机器学习及Python在机器学习中的应用,还系统讲述了数据分类、数据预处理、模型优化、集成学习、回归、聚类、神经网络、深度学习等内容。本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。本书讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。本书可作为学习数据科学的初学者及想进一步拓展数据科学领域认识的读者的参考书。同样,本书也适合计算机等相关专业的本科生、研究生阅读。

关于此书作者

塞巴斯蒂安·拉施卡(Sebastian Raschka)
密歇根州立大学博士,他在计算生物学领域提出了几种新的计算方法,还被科技博客Analytics Vidhya评为GitHub上*具影响力的数据科学家。他在Python编程方面积累了丰富经验,曾为如何实际应用数据科学、机器学习和深度学习做过数次讲座,包括在SciPy(重要的Python科学计算会议)上做的机器学习教程。正是因为Sebastian在数据科学、机器学习以及Python等领域拥有丰富的演讲和写作经验,他才有动力完成本书的撰写,以帮助那些不具备机器学习背景的人设计出有数据驱动的解决方案。他因其工作和贡献获得了2016-2017学年系杰出研究生奖,以及《ACM 计算评论》 2016年度*佳奖。

瓦希德·米尔贾利利(Vahid Mirjalili)
密歇根州立大学计算机视觉与机器学习研究员,致力于把机器学习应用到各种计算机视觉研究项目。他在学术和研究生涯中积累了丰富的Python编程经验,其主要研究兴趣为深度学习和计算机视觉应用。

编辑们的推荐

本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。书中讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。
在本书第1版的基础上,作者对第2版进行了大量更新和扩展,纳入*近的开源技术,包括scikit-learn、Keras和TensorFlow,提供了使用Python构建高效的机器学习与深度学习应用的必要知识与技术。
通过阅读本书,你将学到:
; 探索并理解数据科学、机器学习与深度学习的主要框架
; 通过机器学习模型与神经网络对你的数据提出新的疑问
; 在机器学习中使用*近Python开源库的强大功能
; 掌握如何使用TensorFlow库来实现深度神经网络
; 在可访问的Web应用中嵌入你的机器学习模型
; 使用回归分析预测连续目标的结果
; 使用聚类发现数据中的隐藏模式与结构
; 使用深度学习技术分析图片
; 使用情感分析深入研究文本与社交媒体数据

Python机器学习(原书第2版)图书的目录

译者序
关于作者
关于审校人员
前言
第1章赋予计算机从数据中学习的能力 1
1.1构建把数据转换为知识的智能机器 1
1.2三种不同类型的机器学习 1
1.2.1用有监督学习预测未来 2
1.2.2用强化学习解决交互问题 3
1.2.3用无监督学习发现隐藏结构 4
1.3基本术语与符号 4
1.4构建机器学习系统的路线图 6
1.4.1预处理—整理数据 6
1.4.2训练和选择预测模型 7
1.4.3评估模型和预测新样本数据 7
1.5用Python进行机器学习 7
1.5.1从Python包索引安装Python和其他包 8
1.5.2采用Anaconda Python和软件包管理器 8
1.5.3科学计算、数据科学和机器学习软件包 8
1.6小结 9
第2章训练简单的机器学习分类算法 10
2.1人工神经元—机器学习早期历史一瞥 10
2.1.1人工神经元的正式定义 11
2.1.2感知器学习规则 12
2.2在Python中实现感知器学习算法 14
2.2.1面向对象的感知器API 14
2.2.2在鸢尾花数据集上训练感知器模型 16
2.3自适应神经元和学习收敛 20
2.3.1梯度下降为最小代价函数 21
2.3.2用Python实现Adaline 22
2.3.3通过调整特征大小改善梯度下降 25
2.3.4大规模机器学习与随机梯度下降 27
2.4小结 30
第3章scikit-learn机器学习分类器一览 32
3.1选择分类算法 32
3.2了解scikit-learn软件库的第一步—训练感知器 32
3.3基于逻辑回归的分类概率建模 37
3.3.1逻辑回归的直觉与条件概率 37
3.3.2学习逻辑代价函数的权重 39
3.3.3把转换的Adaline用于逻辑回归算法 41
3.3.4用scikit-learn训练逻辑回归模型 44
3.3.5通过正则化解决过拟合问题 45
3.4支持向量机的最大余量分类 47
3.4.1最大边际的直觉 48
3.4.2用松弛变量处理非线性可分 48
3.4.3其他的scikit-learn 实现 50
3.5用核支持向量机求解非线性问题 50
3.5.1处理线性不可分数据的核方法 50
3.5.2利用核技巧,发现高维空间的分离超平面 52
3.6决策树学习 55
3.6.1最大限度地获取信息—获得最大收益 55
3.6.2构建决策树 58
3.6.3通过随机森林组合多个决策树 61
3.7K-近邻—一种懒惰的学习算法 63
3.8小结 65
第4章构建良好的训练集——预处理 66
4.1处理缺失数据 66
4.1.1识别数据中的缺失数值 66
4.1.2删除缺失的数据 67
4.1.3填补缺失的数据 68
4.1.4了解scikit-learn评估器API 68
4.2处理分类数据 69
4.2.1名词特征和序数特征 69
4.2.2映射序数特征 70
4.2.3分类标签编码 70
4.2.4为名词特征做热编码 71
4.3分裂数据集为独立的训练集和测试集 73
4.4把特征保持在同一尺度上 75
4.5选择有意义的特征 76
4.5.1L1和L2正则化对模型复杂度的惩罚 76
4.5.2L2正则化的几何解释 77
4.5.3L1正则化的稀疏解决方案 78
4.5.4为序数特征选择算法 80
4.6用随机森林评估特征的重要性 84
4.7小结 87
第5章通过降维压缩数据 88
5.1用主成分分析实现无监督降维 88
5.1.1主成分分析的主要步骤 88
5.1.2逐步提取主成分 89
5.1.3总方差和解释方差 91
5.1.4特征变换 92
5.1.5scikit-learn的主成分分析 93
5.2基于线性判别分析的有监督数据压缩 96
5.2.1主成分分析与线性判别分析 96
5.2.2线性判别分析的内部逻辑 97
5.2.3计算散布矩阵 97
5.2.4在新的特征子空间选择线性判别式 99
5.2.5将样本投影到新的特征空间 101
5.2.6用scikit-learn实现的LDA 101
5.3非线性映射的核主成分分析 102
5.3.1核函数与核技巧 103
5.3.2用Python实现核主成分分析 106
5.3.3投影新的数据点 111
5.3.4scikit-learn的核主成分分析 113
5.4小结 114
第6章模型评估和超参数调优的最佳实践 115
6.1用管道方法简化工作流 115
6.1.1加载威斯康星乳腺癌数据集 115
6.1.2集成管道中的转换器和评估器 116
6.2使用k折交叉验证评估模型的性能 118
6.2.1抵抗方法 118
6.2.2k折交叉验证 119
6.3用学习和验证曲线调试算法 122
6.3.1用学习曲线诊断偏差和方差问题 122
6.3.2用验证曲线解决过拟合和欠拟合问题 124
6.4通过网格搜索为机器学习模型调优 126
6.4.1通过网格搜索为超参数调优 126
6.4.2以嵌套式交叉验证来选择算法 127
6.5比较不同的性能评估指标 128
6.5.1含混矩阵分析 128
6.5.2优化分类模型的准确度和召回率 129
6.5.3绘制受试者操作特性图 130
6.5.4多元分类评分指标 133
6.6处理类的不平衡问题 133
6.7小结 135
第7章综合不同模型的组合学习 136
7.1集成学习 136
7.2采用多数票机制的集成分类器 139
7.2.1实现基于多数票的简单分类器 139
7.2.2用多数票原则进行预测 143
7.2.3评估和优化集成分类器 145
7.3套袋—基于导引样本构建分类器集成 149
7.3.1套袋简介 150
7.3.2应用套袋技术对葡萄酒数据集中的样本分类 151
7.4通过自适应增强来利用弱学习者 153
7.4.1增强是如何实现的 154
7.4.2用scikit-learn实现AdaBoost 156
7.5小结 158
第8章应用机器学习于情感分析 159
8.1为文本处理预备好IMDb电影评论数据 159
8.1.1获取电影评论数据集 159
8.1.2把电影评论数据预处理成更方便格式的数据 160
8.2词袋模型介绍 161
8.2.1把词转换成特征向量 161
8.2.2通过词频逆反文档频率评估单词相关性 162
8.2.3清洗文本数据 164
8.2.4把文档处理为令牌 165
8.3训练文档分类的逻辑回归模型 166
8.4处理更大的数据集—在线算法和核心学习 168
8.5具有潜在狄氏分配的主题建模 171
8.5.1使用LDA分解文本文档 171
8.5.2LDA与scikit-learn 172
8.6小结 174
第9章将机器学习模型嵌入网络应用 175
9.1序列化拟合scikit-learn评估器 175
9.2搭建SQLite数据库存储数据 177
9.3用Flask开发网络应用 179
9.3.1第一个Flask网络应用 179
9.3.2表单验证与渲染 181
9.4将电影评论分类器转换为网络应用 184
9.4.1文件与文件夹—研究目录树 185
9.4.2实现主应用app.py 186
9.4.3建立评论表单 188
9.4.4创建一个结果页面的模板 189
9.5在面向公众的服务器上部署网络应用 190
9.5.1创建PythonAnywhere账户 190
9.5.2上传电影分类应用 191
9.5.3更新电影分类器 191
9.6小结 193
第10章用回归分析预测连续目标变量 194
10.1线性回归简介 194
10.1.1简单线性回归 194
10.1.2多元线性回归 195
10.2探索住房数据集 196
10.2.1加载住房数据 196
10.2.2可视化数据集的重要特点 197
10.2.3用关联矩阵查看关系 198
10.3普通最小二乘线性回归模型的实现 200
10.3.1用梯度下降方法求解回归参数 200
10.3.2通过scikit-learn估计回归模型的系数 203
10.4利用RANSAC拟合稳健的回归模型 205
10.5评估线性回归模型的性能 206
10.6用正则化方法进行回归 209
10.7将线性回归模型转换为曲线—多项式回归 210
10.7.1用scikit-learn增加多项式的项 210
10.7.2为住房数据集中的非线性关系建模 211
10.8用随机森林处理非线性关系 214
10.8.1决策树回归 214
10.8.2随机森林回归 215
10.9小结 217
第11章用聚类分析处理无标签数据 218
11.1用k-均值进行相似性分组 218
11.1.1scikit-learn的k-均值聚类 218
11.1.2k-均值++—更聪明地设置初始聚类中心的方法 221
11.1.3硬聚类与软聚类 222
11.1.4用肘法求解最佳聚类数 223
11.1.5通过轮廓图量化聚类质量 224
11.2把集群组织成有层次的树 228
......

部分内容试读

通过新闻媒体的报道,你可能已经了解到机器学习已经成为当代最激动人心的技术。像谷歌、Facebook、苹果、Amazon和IBM这样的大公司基于各自的考虑,已经在机器学习的研究和应用方面投入了巨资。机器学习似乎已经成为流行词,但这绝不是昙花一现。这个激动人心的领域开启了许多新的可能性,已经在日常生活中不可或缺。智能手机的语音助手、为客户推荐合适的产品、防止信用卡欺诈、过滤垃圾邮件、检测和诊断疾病等都是明证。
如果有志于从事深度学习,想更好地解决问题或开展深度学习方面的研究,那么这本书就是为你而写。然而,深度学习背后的理论概念可能艰深难懂。但近几年已经出版了许多机器学习方面的著作,阅读它们有助于通过研发强大的机器学习算法走上机器学习之路。
熟悉机器学习的示例代码及应用是深入该领域的捷径。通过具体的示例学以致用有助于阐明宽泛的概念。请记住,能力越大责任越大!除了用Python和基于Python的机器学习软件库掌握实践经验外,本书还介绍了机器学习算法背后的数学概念,这对于成功地使用机器学习必不可少。这使得本书有别于其他的纯实战书籍。本书将对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理、使用方法以及最为重要的如何避免掉入最常见的陷阱,提供直观且翔实的解释。
如果在谷歌专业网站以“机器学习”作为关键词进行搜索,结果会找到180万个出版物。当然我们无法对过去60年来所出现的各种不同算法和应用逐一进行考证。然而,本书将开始一个激动人心的旅程,涵盖所有重要的主题和概念,让你在该领域捷足先登。如果你发现所提供的知识还不能解渴,没关系,本书还引用了许多其他有用的资源,供你追踪该领域的精要突破。
如果已经详细研究了机器学习理论,那么本书可以教你如何把知识付诸实践。如果以前用过机器学习技术,想更深入地了解其工作原理,那么本书就是为你而备。如果机器学习对你是全新的领域,那么不必担心,你更有理由为此感到兴奋。我保证机器学习将会改变你解决问题的思路,并让你看到如何通过释放数据的力量来解决问题。
在深入机器学习领域之前,先回答一个最重要的问题:“为什么要用Python?”答案很简单:Python功能强大且易于取得。Python已成为数据科学最常用的编程语言,因为它可以让我们忘记编程的冗长乏味,同时提供了可以把想法落地、概念直接付诸行动的环境。
我们认为,对机器学习的研究使我们成为更好的科学家、思想家和问题解决者。本书将与你分享这些知识。知识是要靠学习获得的。学习的关键在于热情,而要真正掌握技能只能通过实践。前面的路或许崎岖不平,有些话题可能颇具挑战性,但我们希望你能抓住这个机会,更多地考虑本书所带来的回报。请记住,我们共同踏上这个旅程,本书将为你的军火库添加许多强大的武器,让你以数据驱动的方式来解决最棘手的问题。
本书内容
第1章介绍了机器学习在解决不同问题时的主要应用领域。另外,还讨论了构建典型的机器学习模型所需要的基本步骤,从而形成一条导引后续各章节的管道。
第2章追溯了机器学习的起源,介绍了二元感知器、分类器和自适应线性神经元。对模式分类的基本原理作了简单介绍,同时关注算法优化和机器学习的交互。
第3章描述了基本的机器学习分类算法,并用最流行和全面的开源机器学习软件库scikit-learn提供了实际案例。
第4章讨论了如何解决未处理数据集中最常见的问题,如数据缺失。也讨论了用来识别数据集中信息量最大特性的几种方法,并教你如何将不同类型的变量作为机器学习算法的适当输入。
第5章描述了减少数据集中的特征数,同时保留大部分有用和识别性信息的基本技术。讨论了基于主成分分析的标准降维方法,并将其与有监督学习和非线性变换技术进行了比较。
第6章讨论了在预测模型的性能评价中该做和不该做什么。此外,还讨论了模型性能评估的不同度量以及优化机器学习算法的技术。
第7章介绍了有效结合多种学习算法的不同概念,讲解了如何建立专家小组来克服个别学习者的弱点,从而产生更准确更可靠的预测。
第8章讨论了将文本数据转换为有意义的机器学习算法,以根据文本内容预测人们意见的基本步骤。
第9章继续使用前一章中的预测模型,并介绍了使用嵌入式机器学习模型开发网络应用的基本步骤。
第10章讨论根据目标和响应变量之间的线性关系建模,从而进行连续预测的基本技术。在介绍了不同的线性模型之后,还讨论了多项式回归和基于树的建模方法。
第11章将焦点转移到机器学习的其他子领域,即无监督学习。 用来自于三个基本聚类家族的算法来寻找一组拥有一定程度相似性的对象。
第12章扩展了基于梯度的优化概念,该概念在第2章中介绍过,用来在Python中构建基于常见的强大的多层神经网络的反向传播算法。
第13章基于前一章的知识,为更有效地训练神经网络提供实用指南。 该章的重点是TensorFlow,这是一个开源的Python 软件库,允许我们充分利用现代的多核GPU。
第14章更详细地介绍了TensorFlow的计算图和会话的核心概念。 另外,该章还介绍了如何保存会话以及可视化神经网络图等主题。

关于此书评价

暂无.

书摘内容

暂无.

Python机器学习(原书第2版)最新最全的试读、书评、目录、简介信息由Python中文网整理提供。