Python机器学习(原书第2版) / 数据科学与工程技术丛书
¥89.00定价
作者: [美]塞巴斯蒂安·拉施卡,瓦希德·米尔贾利利著;陈斌译
译者:陈斌译 译;
出版时间:2018-11
出版社:机械工业出版社
- 机械工业出版社
- 9787111611509
- 2版
- 227203
- 47229774-6
- 平装
- 16开
- 2018-11
- 533
- 381
- 工学
- 计算机科学与技术
- TP311.561
- 计算机通信类
- 本科
作者简介
内容简介
机器学习与预测分析正在改变企业和其他组织的运作方式,本书将带领读者进入预测分析的世界。全书共16章,除了简要介绍机器学习及Python在机器学习中的应用,还系统讲述了数据分类、数据预处理、模型优化、集成学习、回归、聚类、神经网络、深度学习等内容。本书将机器学习背后的基本理论与应用实践联系起来,通过这种方式让读者聚焦于如何正确地提出问题、解决问题。本书讲解了如何使用Python的核心元素以及强大的机器学习库,同时还展示了如何正确使用一系列统计模型。本书可作为学习数据科学的初学者及想进一步拓展数据科学领域认识的读者的参考书。同样,本书也适合计算机等相关专业的本科生、研究生阅读。
目录
译者序关于作者关于审校人员前言第1章 赋予计算机从数据中学习的能力 11.1 构建把数据转换为知识的智能机器 11.2 三种不同类型的机器学习 11.2.1 用有监督学习预测未来 21.2.2 用强化学习解决交互问题 31.2.3 用无监督学习发现隐藏结构 41.3 基本术语与符号 41.4 构建机器学习系统的路线图 61.4.1 预处理—整理数据 61.4.2 训练和选择预测模型 71.4.3 评估模型和预测新样本数据 71.5 用Python进行机器学习 71.5.1 从Python包索引安装Python和其他包 81.5.2 采用Anaconda Python和软件包管理器 81.5.3 科学计算、数据科学和机器学习软件包 81.6 小结 9第2章 训练简单的机器学习分类算法 102.1 人工神经元—机器学习早期历史一瞥 102.1.1 人工神经元的正式定义 112.1.2 感知器学习规则 122.2 在Python中实现感知器学习算法 142.2.1 面向对象的感知器API 142.2.2 在鸢尾花数据集上训练感知器模型 162.3 自适应神经元和学习收敛 202.3.1 梯度下降为最小代价函数 212.3.2 用Python实现Adaline 222.3.3 通过调整特征大小改善梯度下降 252.3.4 大规模机器学习与随机梯度下降 272.4 小结 30第3章 scikit-learn机器学习分类器一览 323.1 选择分类算法 323.2 了解scikit-learn软件库的第一步—训练感知器 323.3 基于逻辑回归的分类概率建模 373.3.1 逻辑回归的直觉与条件概率 373.3.2 学习逻辑代价函数的权重 393.3.3 把转换的Adaline用于逻辑回归算法 413.3.4 用scikit-learn训练逻辑回归模型 443.3.5 通过正则化解决过拟合问题 453.4 支持向量机的最大余量分类 473.4.1 最大边际的直觉 483.4.2 用松弛变量处理非线性可分 483.4.3 其他的scikit-learn 实现 503.5 用核支持向量机求解非线性问题 503.5.1 处理线性不可分数据的核方法 503.5.2 利用核技巧,发现高维空间的分离超平面 523.6 决策树学习 553.6.1 最大限度地获取信息—获得最大收益 553.6.2 构建决策树 583.6.3 通过随机森林组合多个决策树 613.7 K-近邻—一种懒惰的学习算法 633.8 小结 65第4章 构建良好的训练集——预处理 664.1 处理缺失数据 664.1.1 识别数据中的缺失数值 664.1.2 删除缺失的数据 674.1.3 填补缺失的数据 684.1.4 了解scikit-learn评估器API 684.2 处理分类数据 694.2.1 名词特征和序数特征 694.2.2 映射序数特征 704.2.3 分类标签编码 704.2.4 为名词特征做热编码 714.3 分裂数据集为独立的训练集和测试集 734.4 把特征保持在同一尺度上 754.5 选择有意义的特征 764.5.1 L1和L2正则化对模型复杂度的惩罚 764.5.2 L2正则化的几何解释 774.5.3 L1正则化的稀疏解决方案 784.5.4 为序数特征选择算法 804.6 用随机森林评估特征的重要性 844.7 小结 87第5章 通过降维压缩数据 885.1 用主成分分析实现无监督降维 885.1.1 主成分分析的主要步骤 885.1.2 逐步提取主成分 895.1.3 总方差和解释方差 915.1.4 特征变换 925.1.5 scikit-learn的主成分分析 935.2 基于线性判别分析的有监督数据压缩 965.2.1 主成分分析与线性判别分析 965.2.2 线性判别分析的内部逻辑 975.2.3 计算散布矩阵 975.2.4 在新的特征子空间选择线性判别式 995.2.5 将样本投影到新的特征空间 1015.2.6 用scikit-learn实现的LDA 1015.3 非线性映射的核主成分分析 1025.3.1 核函数与核技巧 1035.3.2 用Python实现核主成分分析 1065.3.3 投影新的数据点 1115.3.4 scikit-learn的核主成分分析 1135.4 小结 114第6章 模型评估和超参数调优的最佳实践 1156.1 用管道方法简化工作流 1156.1.1 加载威斯康星乳腺癌数据集 1156.1.2 集成管道中的转换器和评估器 1166.2 使用k折交叉验证评估模型的性能 1186.2.1 抵抗方法 1186.2.2 k折交叉验证 1196.3 用学习和验证曲线调试算法 1226.3.1 用学习曲线诊断偏差和方差问题 1226.3.2 用验证曲线解决过拟合和欠拟合问题 1246.4 通过网格搜索为机器学习模型调优 1266.4.1 通过网格搜索为超参数调优 1266.4.2 以嵌套式交叉验证来选择算法 1276.5 比较不同的性能评估指标 1286.5.1 含混矩阵分析 1286.5.2 优化分类模型的准确度和召回率 1296.5.3 绘制受试者操作特性图 1306.5.4 多元分类评分指标 1336.6 处理类的不平衡问题 1336.7 小结 135第7章 综合不同模型的组合学习 1367.1 集成学习 1367.2 采用多数票机制的集成分类器 1397.2.1 实现基于多数票的简单分类器 1397.2.2 用多数票原则进行预测 1437.2.3 评估和优化集成分类器 1457.3 套袋—基于导引样本构建分类器集成 1497.3.1 套袋简介 1507.3.2 应用套袋技术对葡萄酒数据集中的样本分类 1517.4 通过自适应增强来利用弱学习者 1537.4.1 增强是如何实现的 1547.4.2 用scikit-learn实现AdaBoost 1567.5 小结 158第8章 应用机器学习于情感分析 1598.1 为文本处理预备好IMDb电影评论数据 1598.1.1 获取电影评论数据集 1598.1.2 把电影评论数据预处理成更方便格式的数据 1608.2 词袋模型介绍 1618.2.1 把词转换成特征向量 1618.2.2 通过词频逆反文档频率评估单词相关性 1628.2.3 清洗文本数据 1648.2.4 把文档处理为令牌 1658.3 训练文档分类的逻辑回归模型 1668.4 处理更大的数据集—在线算法和核心学习 1688.5 具有潜在狄氏分配的主题建模 1718.5.1 使用LDA分解文本文档 1718.5.2 LDA与scikit-learn 1728.6 小结 174第9章 将机器学习模型嵌入网络应用 1759.1 序列化拟合scikit-learn评估器 1759.2 搭建SQLite数据库存储数据 1779.3 用Flask开发网络应用 1799.3.1 第一个Flask网络应用 1799.3.2 表单验证与渲染 1819.4 将电影评论分类器转换为网络应用 1849.4.1 文件与文件夹—研究目录树 1859.4.2 实现主应用 1869.4.3 建立评论表单 1889.4.4 创建一个结果页面的模板 1899.5 在面向公众的服务器上部署网络应用 1909.5.1 创建PythonAnywhere账户 1909.5.2 上传电影分类应用 1919.5.3 更新电影分类器 1919.6 小结 193第10章 用回归分析预测连续目标变量 19410.1 线性回归简介 19410.1.1 简单线性回归 19410.1.2 多元线性回归 19510.2 探索住房数据集 19610.2.1 加载住房数据 19610.2.2 可视化数据集的重要特点 19710.2.3 用关联矩阵查看关系 19810.3 普通最小二乘线性回归模型的实现 20010.3.1 用梯度下降方法求解回归参数 20010.3.2 通过scikit-learn估计回归模型的系数 20310.4 利用RANSAC拟合稳健的回归模型 20510.5 评估线性回归模型的性能 20610.6 用正则化方法进行回归 20910.7 将线性回归模型转换为曲线—多项式回归 21010.7.1 用scikit-learn增加多项式的项 21010.7.2 为住房数据集中的非线性关系建模 21110.8 用随机森林处理非线性关系 21410.8.1 决策树回归 21410.8.2 随机森林回归 21510.9 小结 217第11章 用聚类分析处理无标签数据 21811.1 用k-均值进行相似性分组 21811.1.1 scikit-learn的k-均值聚类 21811.1.2 k-均值++—更聪明地设置初始聚类中心的方法 22111.1.3 硬聚类与软聚类 22211.1.4 用肘法求解最佳聚类数 22311.1.5 通过轮廓图量化聚类质量 22411.2 把集群组织成有层次的树 22811.2.1 以自下而上的方式聚类 22811.2.2 在距离矩阵上进行层次聚类 22911.2.3 热度图附加树状图 23211.2.4 scikit-learn凝聚聚类方法 23311.3 通过DBSCAN定位高密度区域 23311.4 小结 237第12章 从零开始实现多层人工神经网络 23812.1 用人工神经网络为复杂函数建模 23812.1.1 单层神经网络扼要重述 23912.1.2 介绍多层神经网络体系 24012.1.3 利用正向传播激活神经网络 24212.2 识别手写数字 24312.2.1 获取MNIST数据集 24312.2.2 实现一个多层感知器 24712.3 训练人工神经网络 25612.3.1 逻辑成本函数的计算 25612.3.2 开发反向传播的直觉 25712.3.3 通过反向传播训练神经网络 25812.4 关于神经网络的收敛性 26012.5 关于神经网络实现的最后几句话 26112.6 小结 261第13章 用TensorFlow并行训练神经网络 26213.1 TensorFlow与模型训练的性能 26213.1.1 什么是TensorFlow 26313.1.2 如何学习TensorFlow 26413.1.3 学习TensorFlow的第一步 26413.1.4 使用阵列结构 26613.1.5 用TensorFlow的底层API开发简单的模型 26713.2 用TensorFlow的高级 API高效率地训练神经网络 27013.2.1 用TensorFlow的Layers API构建多层神经网络 27013.2.2 用Keras研发多层神经网络 27413.3 多层网络激活函数的选择 27713.3.1 逻辑函数回顾 27813.3.2 在多元分类中调用softmax函数评估类别概率 27913.3.3 利用双曲正切拓宽输出范围 28013.3.4 修正线性单元激活函数 28113.4 小结 282第14章 深入探讨TensorFlow的工作原理 28314.1 TensorFlow的主要功能 28314.2 TensorFlow 的排序与张量 28414.3 了解TensorFlow的计算图 28514.4 TensorFlow中的占位符 28714.4.1 定义占位符 28714.4.2 为占位符提供数据 28714.4.3 用batchsizes 为数据阵列定义占位符 28814.5 TensorFlow中的变量 28914.5.1 定义变量 28914.5.2 初始化变量 29014.5.3 变量范围 29114.5.4 变量复用 29214.6 建立回归模型 29514.7 在TensorFlow计算图中用张量名执行对象 29714.8 在TensorFlow中存储和恢复模型 29814.9