当前位置:主页 > 书籍配套资源 > Python配套资源
《Python机器学习(原书第3版)》配图,源码

《Python机器学习(原书第3版)》配图,源码

  • 更新:2021-12-12
  • 大小:139.8 MB
  • 类别:Python
  • 作者:[美]、塞巴斯蒂安·拉施卡(Sebastian、Raschka)、瓦希德·米尔贾利利(Vahid、Mirjalili)
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Python机器学习(原书第3版)》自第1版出版以来,备受广大读者欢迎。与同类书相比,本书除了介绍如何用Python和基于Python的机器学习软件库进行实践外,还对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理、使用方法以及如何避免掉入常见的陷阱提供直观且翔实的解释,是Python机器学习入门必读之作。它的内容涵盖了众多高效Python库,包括scikit-learn、Keras和TensorFlow等,系统性地梳理和分析了各种经典算法,并通过Python语言以具体代码示例的方式深入浅出地介绍了各种算法的应用,还给出了从情感分析到神经网络的一些实践技巧,这些内容能使你快速解决你和你的团队面临的一些重要问题。

封面图

目录

  • 译者序
  • 前言
  • 作者简介
  • 审校者简介
  • 第1章赋予计算机从数据中学习的能力1
  • 1.1构建能把数据转换为知识的智能机器1
  • 1.2三种不同类型的机器学习1
  • 1.2.1用监督学习预测未来2
  • 1.2.2用强化学习解决交互问题3
  • 1.2.3用无监督学习发现隐藏的结构4
  • 1.3基本术语与符号4
  • 1.3.1本书中使用的符号和约定5
  • 1.3.2机器学习的术语6
  • 1.4构建机器学习系统的路线图6
  • 1.4.1预处理——整理数据6
  • 1.4.2训练和选择预测模型7
  • 1.4.3评估模型并对未曾谋面的数据进行预测8
  • 1.5将Python用于机器学习8
  • 1.5.1利用Python Package Index安装Python及其他软件包8
  • 1.5.2采用Anaconda Python发行版和软件包管理器8
  • 1.5.3用于科学计算、数据科学和机器学习的软件包9
  • 1.6本章小结9
  • 第2章训练简单的机器学习分类算法10
  • 2.1人工神经元——机器学习的早期历史10
  • 2.1.1人工神经元的正式定义11
  • 2.1.2感知器学习规则12
  • 2.2用Python实现感知器学习算法14
  • 2.2.1面向对象的感知器API14
  • 2.2.2在鸢尾花数据集上训练感知器模型16
  • 2.3自适应线性神经元和学习收敛20
  • 2.3.1通过梯度下降最小化代价函数21
  • 2.3.2用Python实现Adaline22
  • 2.3.3通过特征缩放改善梯度下降26
  • 2.3.4大规模机器学习与随机梯度下降27
  • 2.4本章小结31
  • 第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通过正则化解决过拟合问题46
  • 3.4使用支持向量机最大化分类间隔48
  • 3.4.1对分类间隔最大化的直观认识48
  • 3.4.2用松弛变量解决非线性可分问题50
  • 3.4.3其他的scikit-learn实现51
  • 3.5用核支持向量机求解非线性问题51
  • 3.5.1处理线性不可分数据的核方法52
  • 3.5.2利用核技巧发现高维空间的分离超平面53
  • 3.6决策树学习56
  • 3.6.1最大化信息增益——获得最大收益56
  • 3.6.2构建决策树59
  • 3.6.3多个决策树的随机森林组合62
  • 3.7k-近邻——一种惰性学习算法64
  • 3.8本章小结66
  • 第4章构建良好的训练数据集——数据预处理67
  • 4.1处理缺失数据67
  • 4.1.1识别数据中的缺失值67
  • 4.1.2删除有缺失值的训练样本或特征68
  • 4.1.3填补缺失值69
  • 4.1.4了解scikit-learn估计器API69
  • 4.2处理类别数据70
  • 4.2.1用pandas实现类别数据的编码70
  • 4.2.2映射序数特征71
  • 4.2.3为分类标签编码71
  • 4.2.4为名义特征做独热编码72
  • 4.3把数据集划分为独立的训练数据集和测试数据集74
  • 4.4保持相同的特征缩放76
  • 4.5选择有意义的特征78
  • 4.5.1L1和L2正则化对模型复杂度的惩罚78
  • 4.5.2L2正则化的几何解释78
  • 4.5.3L1正则化的稀疏解决方案79
  • 4.5.4序列特征选择算法82
  • 4.6用随机森林评估特征的重要性86
  • 4.7本章小结88
  • 第5章通过降维压缩数据89
  • 5.1用主成分分析实现无监督降维89
  • 5.1.1主成分分析的主要步骤89
  • 5.1.2逐步提取主成分90
  • 5.1.3总方差和解释方差92
  • 5.1.4特征变换93
  • 5.1.5用scikit-learn实现主成分分析95
  • 5.2基于线性判别分析的监督数据压缩97
  • 5.2.1主成分分析与线性判别分析97
  • 5.2.2线性判别分析的内部工作原理98
  • 5.2.3计算散布矩阵98
  • 5.2.4为新特征子空间选择线性判别100
  • 5.2.5将样本投影到新的特征空间102
  • 5.2.6用scikit-learn实现LDA103
  • 5.3非线性映射的核主成分分析104
  • 5.3.1核函数与核技巧104
  • 5.3.2用Python实现核主成分分析107
  • 5.3.3投影新的数据点112
  • 5.3.4scikit-learn的核主成分分析115
  • 5.4本章小结116
  • 第6章模型评估和超参数调优的最佳实践117
  • 6.1用流水线方法简化工作流117
  • 6.1.1加载威斯康星乳腺癌数据集117
  • 6.1.2在流水线中集成转换器和估计器118
  • 6.2使用k折交叉验证评估模型性能120
  • 6.2.1holdout方法120
  • 6.2.2k折交叉验证121
  • 6.3用学习和验证曲线调试算法123
  • 6.3.1用学习曲线诊断偏差和方差问题124
  • 6.3.2用验证曲线解决过拟合和欠拟合问题126
  • 6.4通过网格搜索调优机器学习模型127
  • 6.4.1通过网格搜索调优超参数128
  • 6.4.2通过嵌套式交叉验证选择算法129
  • 6.5了解不同的性能评估指标130
  • 6.5.1分析混淆矩阵130
  • 6.5.2优化分类模型的精度和召回率131
  • 6.5.3绘制ROC曲线133
  • 6.5.4多元分类评分指标135
  • 6.5.5处理类不均衡问题135
  • 6.6本章小结137
  • 第7章组合不同模型的集成学习138
  • 7.1集成学习138
  • 7.2通过多数票机制组合分类器140
  • 7.2.1实现一个简单的多数票分类器141
  • 7.2.2用多数票原则进行预测145
  • 7.2.3评估和优化集成分类器147
  • 7.3bagging——基于bootstrap样本构建集成分类器151
  • 7.3.1bagging简介151
  • 7.3.2应用bagging对葡萄酒数据集中的样本分类152
  • 7.4通过自适应boosting提高弱学习机的性能155
  • 7.4.1boosting的工作原理156
  • 7.4.2用scikit-learn实现AdaBoost158
  • 7.5本章小结161
  • 第8章用机器学习进行情感分析162
  • 8.1为文本处理预备好IMDb电影评论数据162
  • 8.1.1获取电影评论数据集162
  • 8.1.2把电影评论数据集预处理成更方便的格式163
  • 8.2词袋模型介绍164
  • 8.2.1把单词转换成特征向量164
  • 8.2.2通过词频-逆文档频率评估单词相关性166
  • 8.2.3清洗文本数据167
  • 8.2.4把文档处理成令牌168
  • 8.3训练用于文档分类的逻辑回归模型170
  • 8.4处理更大的数据集——在线算法和核外学习172
  • 8.5用潜在狄利克雷分配实现主题建模174
  • 8.5.1使用LDA分解文本文档175
  • 8.5.2scikit-learn中的LDA175
  • 8.6本章小结178
  • 第9章将机器学习模型嵌入Web应用179
  • 9.1序列化拟合的scikit-learn估计器179
  • 9.2搭建SQLite数据库存储数据181
  • 9.3用Flask开发Web应用183
  • 9.3.1第一个Flask Web应用183
  • 9.3.2表单验证与渲染185
  • 9.4将电影评论分类器转换为Web应用189
  • 9.4.1文件与文件夹——研究目录树190
  • 9.4.2实现主应用app.py190
  • 9.4.3建立评论表单192
  • 9.4.4创建结果页面模板193
  • 9.5在公共服务器上部署Web应用195
  • 9.5.1创建PythonAnywhere账户195
  • 9.5.2上传电影分类器应用195
  • 9.5.3更新电影分类器196
  • 9.6本章小结198
  • 第10章用回归分析预测连续目标变量199
  • 10.1线性回归简介199
  • 10.1.1简单线性回归199
  • 10.1.2多元线性回归200
  • 10.2探索住房数据集200
  • 10.2.1加载住房数据200
  • 10.2.2可视化数据集的重要特点202
  • 10.2.3用相关矩阵查看关系203
  • 10.3普通最小二乘线性回归模型的实现205
  • 10.3.1用梯度下降方法求解回归参数205
  • 10.3.2通过scikit-learn估计回归模型的系数207
  • 10.4利用RANSAC拟合鲁棒回归模型209
  • 10.5评估线性回归模型的性能211
  • 10.6用正则化方法进行回归213
  • 10.7将线性回归模型转换为曲线——多项式回归214
  • 10.7.1用scikit-learn增加多项式项214
  • 10.7.2为住房数据集中的非线性关系建模216
  • 10.8用随机森林处理非线性关系218
  • 10.8.1决策树回归218
  • 10.8.2随机森林回归219
  • 10.9本章小结221
  • 第11章用聚类分析处理无标签数据223
  • 11.1用k-均值进行相似性分组223
  • 11.1.1用scikit-learn实现k-均值聚类223
  • 11.1.2k-均值++——更聪明地设置初始集群质心的方法226
  • 11.1.3硬聚类与软聚类227
  • 11.1.4用肘部方法求解最优集群数228
  • 11.1.5通过轮廓图量化聚类质量229
  • 11.2把集群组织成层次树233
  • 11.2.1以自下而上的方式聚类233
  • 11.2.2在距离矩阵上进行层次聚类234
  • 11.2.3热度图附加树状图236
  • 11.2.4通过scikit-learn进行凝聚聚类238
  • 11.3通过DBSCAN定位高密度区域238
  • 11.4本章小结242
  • 第12章从零开始实现多层人工神经网络243
  • 12.1用人工神经网络建立复杂函数模型243
  • 12.1.1单层神经网络回顾244
  • 12.1.2多层神经网络体系结构简介245
  • 12.1.3利用正向传播激活神经网络247
  • 12.2识别手写数字249
  • 12.2.1获取并准备MNIST数据集249
  • 12.2.2实现一个多层感知器254
  • 12.3训练人工神经网络262
  • 12.3.1逻辑代价函数的计算262
  • 12.3.2理解反向传播264
  • 12.3.3通过反向传播训练神经网络265
  • 12.4关于神经网络的收敛性267
  • 12.5关于神经网络实现的最后几句话268
  • 12.6本章小结268
  • 第13章用TensorFlow并行训练神经网络269
  • 13.1TensorFlow与模型训练的性能269
  • 13.1.1性能挑战269
  • 13.1.2什么是TensorFlow270
  • 13.1.3如何学习TensorFlow271
  • 13.2学习TensorFlow的第一步271
  • 13.2.1安装TensorFlow271
  • 13.2.2在TensorFlow中创建张量272
  • 13.2.3对张量形状和数据类型进行操作273
  • 13.2.4对张量进行数学运算273
  • 13.2.5拆分、堆叠和连接张量275
  • 13.3用TensorFlow的Dataset API构建输入流水线276
  • 13.3.1用现存张量创建TensorFlow的数据集276
  • 13.3.2把两个张量整合成一个联合数据集277
  • 13.3.3洗牌、批处理和重复278
  • 13.3.4从本地磁盘的文件创建数据集280
  • 13.3.5从tensorflow_datasets获取可用的数据集282
  • 13.4在TensorFlow中构建神经网络模型286
  • 13.4.1TensorFlow Keras API(tf.keras)287
  • 13.4.2构建线性回归模型287
  • 13.4.3通过.compile()和.fit()方法训练模型291
  • 13.4.4在鸢尾花数据集上构建多层分类感知器291
  • 13.4.5在测试数据集上评估训练后的模型294
  • 13.4.6保存并重新加载训练后的模型294
  • 13.5选择多层神经网络的激活函数295
  • 13.5.1关于逻辑函数的回顾295
  • 13.5.2在多元分类中调用softmax函数评估分类概率296
  • 13.5.3利用双曲正切拓宽输出范围297
  • 13.5.4修正线性单元激活函数299
  • 13.6本章小结300
  • 第14章深入探讨TensorFlow的工作原理301
  • 14.1TensorFlow的主要功能301
  • 14.2TensorFlow的计算图:迁移到TensorFlow v2302
  • 14.2.1了解TensorFlow的计算图302
  • 14.2.2在TensorFlow v1.x中创建计算图302
  • 14.2.3将计算图迁移到TensorFlow v2303
  • 14.2.4在TensorFlow v1.x中将输入数据加载到模型304
  • 14.2.5在TensorFlow v2中将输入数据加载到模型304
  • 14.2.6通过函数修饰器提高计算性能305
  • 14.3用于存储和更新模型参数的TensorFlow变量对象306
  • 14.4通过自动微分和GradientTape计算梯度309
  • 14.4.1针对可训练变量计算损失的梯度309
  • 14.4.2针对不可训练张量计算梯度310
  • 14.4.3保留用于多个梯度计算的资源311
  • 14.5通过Keras API简化通用体系结构的实现311
  • 14.5.1解决XOR分类问题313
  • 14.5.2用Keras的函数式API灵活建模317
  • 14.5.3基于Keras的Model类建模318
  • 14.5.4编写自定义Keras层318
  • 14.6TensorFlow估计器321
  • 14.6.1使用特征列322
  • 14.6.2带预制估计器的机器学习325
  • 14.6.3用估计器进行MNIST手写数字分类328
  • 14.6.4基于现有Keras模型创建自定义估计器329
  • 14.7本章小结331
  • 第15章用深度卷积神经网络为图像分类332
  • 15.1构成卷积神经网络的模块332
  • 15.1.1理解CNN与特征层次332
  • 15.1.2离散卷积计算334
  • 15.1.3子采样层340
  • 15.2构建卷积神经网络341
  • 15.2.1处理多个输入或者颜色通道341
  • 15.2.2通过dropout正则化神经网络344
  • 15.2.3分类过程中的损失函数346
  • 15.3用TensorFlow实现深度卷积神经网络347
  • 15.3.1多层卷积神经网络的体系结构348
  • 15.3.2数据加载和预处理348
  • 15.3.3用TensorFlow的Keras API实现卷积神经网络模型349
  • 15.4用卷积神经网络根据人脸图像进行性别分类353
  • 15.4.1加载CelebA数据集354
  • 15.4.2图像转换和数据扩增354
  • 15.4.3训练基于卷积神经网络的性别分类器359
  • 15.5本章小结363
  • 第16章用循环神经网络为序列数据建模364
  • 16.1序列数据介绍364
  • 16.1.1序列数据建模——顺序很重要364
  • 16.1.2序列数据的表达365
  • 16.1.3不同类别的序列建模365
  • 16.2循环神经网络序列建模366
  • 16.2.1了解循环神经网络的循环机制366
  • 16.2.2在循环神经网络中计算激活值367
  • 16.2.3隐藏循环与输出循环369
  • 16.2.4学习长程交互面临的挑战371
  • 16.2.5长短期记忆单元372
  • 16.3用TensorFlow实现循环神经网络序列建模374
  • 16.3.1项目1:对IMDb电影评论进行情感分析374
  • 16.3.2项目2:用TensorFlow实现字符级语言建模385
  • 16.4用转换器模型理解语言394
  • 16.4.1了解自注意力机制394
  • 16.4.2多头注意力和转换器块396
  • 16.5本章小结397
  • 第17章用生成对抗网络合成新数据398
  • 17.1生成对抗网络介绍398
  • 17.1.1自编码器398
  • 17.1.2用于合成新数据的生成模型400
  • 17.1.3用GAN生成新样本401
  • 17.1.4理解GAN模型中生成器和判别器网络的损失函数402
  • 17.2从零开始实现GAN403
  • 17.2.1用谷歌Colab训练GAN模型403
  • 17.2.2实现生成器和判别器网络405
  • 17.2.3定义训练数据集408
  • 17.2.4训练GAN模型409
  • 17.3用卷积和Wasserstein GAN提高合成图像的质量415
  • 17.3.1转置卷积416
  • 17.3.2批归一化417
  • 17.3.3实现生成器和判别器419
  • 17.3.4两个分布之间相异度的度量423
  • 17.3.5在GAN实践中使用EM距离426
  • 17.3.6梯度惩罚426
  • 17.3.7实现WGAN-GP来训练DCGAN模型427
  • 17.3.8模式坍塌429
  • 17.4其他的GAN应用431
  • 17.5本章小结432
  • 第18章用于复杂环境决策的强化学习433
  • 18.1概述——从经验中学习433
  • 18.1.1了解强化学习433
  • 18.1.2定义强化学习系统的智能体环境接口434
  • 18.2RL的理论基础435
  • 18.2.1马尔可夫决策过程435
  • 18.2.2马尔可夫决策过程的数学公式436
  • 18.2.3RL术语:回报、策略和价值函数438
  • 18.2.4用贝尔曼方程动态编程440
  • 18.3强化学习算法441
  • 18.3.1动态编程441
  • 18.3.2蒙特卡罗强化学习443
  • 18.3.3时序差分学习444
  • 18.4实现第一个RL算法446
  • 18.4.1介绍OpenAI Gym工具包446
  • 18.4.2用Q学习解决网格世界问题453
  • 18.4.3深度Q学习概览456
  • 18.5本章小结462

资源下载

资源下载地址1:https://pan.baidu.com/s/1RWsqprVlwGoHRgvOkn2hqA

相关资源

网友留言