万本电子书0元读

万本电子书0元读

顶部广告

机器学习:软件工程方法与实现电子书

售       价:¥

11人正在读 | 0人评论 6.5

作       者:张春强,张和平,唐振

出  版  社:机械工业出版社

出版时间:2020-11-01

字       数:38.4万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
本书视角独特,将软件工程中的方法应用到机器学习实践中,重视方法论和工程实践的融合。本书主要有3个特点。1)机器学习的软件工程方法:用软件工程(Software Engineering)中的工具、方法和理论指导机器学习的实践活动。主要体现在测试驱动开发(TDD)方法、机器学习项目管理方法、工程化软件应用于数据科学标准化环境,以及开源算法包的大量实践应用案例等。2)机器学习全生命周期:书中*呈现了机器学习项目开发的完整链路,以项目需求为起点,历经样本定义、数据处理、建模、模型上线、模型监控、模型重训或重建。流程中的大部分节点独立成章,阐述充分,并且不是单纯地阐述理论,而是重在实践。同时,聚焦机器学习中应用*广泛和*有效的算法,使之成为贯穿机器学习项目生命周期的一条完整的学习路径。3)提出机器学习是一门实验学科:书中有大量的工业实践代码,例如数据分析包、特征离散化包、特征选择包、集成模型框架包、大规模模型上线系统架构和对应代码包等,对机器学习算法特性也有大量的代码解析。书中还多次强调对于机器学习这样一门实验和实践学科,工具、方法和策略的重要性,并介绍了在实际项目中对时间、人力成本等的权衡策略。本书不拘泥于公式推演、数值分析计算领域优化求解(梯度、牛顿、拉格朗日、凸优化)等主题,而重在展现机器学习的实际应用,以及各知识点的落地。在写作方式和内容编写等方面,本书力求既贴近工程实践又不失理论深度,给读者良好的阅读体验。
目录展开

前言

第一部分 工程基础篇

第1章 机器学习软件工程方法

1.1 机器学习简述

1.1.1 机器学习与人工智能、深度学习等的关系

1.1.2 机器学习类别与范式

1.2 软件工程方法

1.2.1 机器学习中的软件工程

1.2.2 编码和测试

1.3 朴素贝叶斯测试驱动开发案例

1.3.1 开发准备

1.3.2 开发邮件分类器

1.4 本章小结

第2章 工程环境准备

2.1 Anaconda

2.1.1 安装Anaconda

2.1.2 使用conda管理环境

2.1.3 Jupyter Notebook基础使用和示例

2.2 使用Pipenv定制Python环境

2.2.1 Pipenv简介

2.2.2 Pipenv基础使用和示例

2.3 Docker打包环境

2.3.1 Docker简述

2.3.2 Docker架构

2.3.3 Docker基础使用和示例

2.3.4 打包示例

2.4 标准化在数据科学项目中的意义

2.5 数据科学项目工程环境

2.5.1 开发镜像

2.5.2 项目工程模板

2.5.3 操作演示

2.6 本章小结

第3章 实验数据准备

3.1 常用数据分布

3.1.1 伯努利分布

3.1.2 二项分布

3.1.3 泊松分布

3.1.4 均匀分布

3.1.5 正态分布

3.1.6 指数分布

3.2 开源数据集

3.2.1 开源数据集介绍

3.2.2 scikit-learn中的数据集

3.3 scikit-learn数据集生成接口

3.3.1 常用接口

3.3.2 分类模型随机数据生成

3.3.3 回归模型随机数据生成

3.3.4 聚类模型随机数据生成

3.4 随机数生成简介

3.4.1 随机数生成的原理和概念

3.4.2 随机数生成示例

3.4.3 随机数应用场景介绍

3.5 本章小结

第二部分 机器学习基础篇

第4章 机器学习项目流程与核心概念

4.1 机器学习项目流程

4.1.1 如何定义Y

4.1.2 如何取样X

4.1.3 如何划分数据集

4.1.4 如何选择学习算法

4.1.5 数据分析和处理

4.1.6 特征工程

4.1.7 模型训练与调参

4.1.8 模型评估与报告

4.1.9 模型部署

4.1.10 模型监控

4.1.11 模型重训或重建

4.2 机器学习算法8个核心概念

4.2.1 损失函数和正则化

4.2.2 欠拟合与过拟合、偏差与方差

4.2.3 交叉验证

4.2.4 数据泄露

4.3 本章小结

第5章 数据分析与处理

5.1 变量的类型

5.2 常用分析方法

5.2.1 整体数据概览

5.2.2 单变量可视化分析

5.2.3 双变量可视化分析

5.2.4 多变量可视化分析

5.3 缺失值分析与处理

5.3.1 数据缺失的类型

5.3.2 查看缺失情况

5.3.3 缺失值处理方式

5.4 异常值分析与处理

5.4.1 查看异常情况

5.4.2 异常值处理

5.5 数据分析工具包开发实战

5.5.1 核心功能

5.5.2 使用示例

5.5.3 核心代码

5.6 本章小结

第三部分 特征篇

第6章 特征工程

6.1 特征工程简介

6.2 特征处理基础方法和实现

6.2.1 定量特征

6.2.2 序数特征

6.2.3 类别特征

6.2.4 WOE编码

6.2.5 日期特征

6.3 特征离散化方法和实现

6.3.1 等宽和等频离散法

6.3.2 信息熵分箱原理与实现

6.3.3 Best-KS分箱原理与实现

6.3.4 卡方分箱原理与实现

6.3.5 分箱效果

6.4 本章小结

第7章 基于Featuretools的自动特征衍生

7.1 特征衍生

7.2 Featuretools简介

7.2.1 安装

7.2.2 核心概念和接口介绍

7.3 Featuretools原理

7.3.1 特征综合抽象

7.3.2 深度特征综合算法

7.4 Featuretools实践案例

7.4.1 流程

7.4.2 捷信数据

7.4.3 构建实体和实体集

7.4.4 构建关系

7.4.5 特征基元

7.4.6 深度特征合成

7.5 本章小结

第8章 特征选择

8.1 特征选择概述

8.1.1 特征选择及其意义

8.1.2 业务层特征选择

8.1.3 技术层特征选择

8.2 特征选择流程与模式

8.2.1 数据质量和特征质量

8.2.2 串联和并联流程

8.2.3 特征选择结果评价

8.3 特征预测力指标

8.3.1 相关性指标

8.3.2 关联性指标

8.4 过滤法与实现

8.4.1 常用单指标过滤法

8.4.2 相关性与IV双指标过滤法

8.4.3 最小冗余最大相关

8.5 包裹法与实现

8.5.1 前向选择实现

8.5.2 后向选择实现

8.5.3 Stepwise实现

8.6 嵌入法与实现

8.6.1 基于随机森林的特征选择

8.6.2 基于正则的特征选择

8.7 特征选择工具包开发实战

8.8 本章小结

第四部分 模型篇

第9章 线性模型

9.1 普通线性回归模型

9.1.1 线性回归

9.1.2 线性回归的假设

9.1.3 线性模型如何解决非线性问题

9.2 广义线性模型

9.2.1 建模方法论

9.2.2 示例

9.3 正则化的回归

9.3.1 正则化原理

9.3.2 Lasso和Ridge回归

9.3.3 正则化效果演示

9.4 逻辑回归

9.4.1 模型原理

9.4.2 最大似然估计

9.4.3 LogisticRegression解析与示例

9.5 金融评分卡

9.5.1 评分卡简介

9.5.2 加性原理

9.5.3 评分刻度与实现

9.6 解决共线性

9.7 本章小结

第10章 树模型

10.1 树结构

10.2 决策树

10.3 决策树算法

10.3.1 熵和基尼指数

10.3.2 ID3算法

10.3.3 C4.5算法

10.3.4 CART

10.4 树的剪枝

10.4.1 预剪枝

10.4.2 后剪枝

10.5 特征处理

10.5.1 连续值处理

10.5.2 缺失值处理

10.6 决策树实现示例

10.7 本章小结

第11章 集成模型

11.1 模型的可变组件

11.1.1 数据集之行列采样

11.1.2 算法之同质和异质

11.2 层次化的集成方法

11.2.1 投票组合法

11.2.2 前向逐步叠加法

11.3 Bagging方法

11.3.1 Bootstrap和Aggregating

11.3.2 Bagging模型性能分析实验

11.3.3 Bagging偏差和方差解析

11.3.4 随机森林

11.4 Boosting方法

11.4.1 Boosting的原理与实现示例

11.4.2 Boosting建模解析示例

11.4.3 Boosting的集大成者:XGBoost

11.5 Stacking概述与实现示例

11.6 Super Learner与ML-Ensemble

11.6.1 Super Learner实现示例

11.6.2 ML-Ensemble集成库

11.7 本章小结

第12章 模型调参

12.1 模型调参概述

12.1.1 调参问题定义

12.1.2 超参数和作弊的随机种子

12.1.3 调参三要素

12.2 调参流程和方法

12.2.1 调参流程

12.2.2 超参选取策略和特定模型超参推荐

12.2.3 自动调参之元学习和代理模型

12.3 Model-Free方法

12.3.1 网格搜索

12.3.2 随机搜索

12.4 XGBoost自动调参工具开发实战

12.4.1 功能和易用性设计

12.4.2 使用示例

12.4.3 代码清单

12.5 贝叶斯方法

12.5.1 贝叶斯优化介绍

12.5.2 BayesianOptimization优化实例

12.6 部分开源调参项目简介

12.6.1 Ray-Tune

12.6.2 optuna

12.7 本章小结

第13章 模型性能评估

13.1 训练误差vs测试误差

13.2 模型评估常见的数据切割方法

13.2.1 留出法

13.2.2 交叉验证法

13.2.3 留一法

13.2.4 自助取样法

13.3 性能度量

13.3.1 分类任务

13.3.2 回归任务

13.4 本章小结

第14章 模型解释

14.1 模型解释概述

14.1.1 模型解释的意义

14.1.2 局部和全局解释

14.2 模型解释可视化方法

14.2.1 PDP

14.2.2 ICE

14.3 解释线性模型

14.4 解释树模型

14.4.1 树模型特征的重要性

14.4.2 决策路径

14.4.3 Treeinterpreter

14.5 模型无关解释方法

14.5.1 特征重要性方法

14.5.2 代理模型:LIME

14.5.3 基于博弈论的SHAP

14.6 本章小结

第15章 模型上线之模型即服务

15.1 模型上线方案

15.1.1 是否提供独立服务

15.1.2 是否提取模型细节

15.2 提取系数上线:回归模型和评分卡

15.3 自动规则提取上线:决策树示例

15.3.1 规则转化为Python代码

15.3.2 规则转化为C/Java等代码

15.3.3 规则转化为SQL代码

15.4 PMML和ONNX

15.4.1 PMML

15.4.2 ONNX

15.5 编译为共享库加速预测

15.5.1 Treelite原理

15.5.2 使用示例

15.5.3 部署方法

15.6 原生模型持久化

15.6.1 写接口

15.6.2 读接口

15.7 RESTful Web Services构建

15.7.1 快速构建API服务

15.7.2 自动化模型上线框架设计与实现

15.8 基于Docker大规模微服务上线架构

15.8.1 架构设计

15.8.2 定制镜像

15.8.3 编排可扩展服务示例

15.9 本章小结

第16章 模型稳定性监控

16.1 背景和监控方法

16.1.1 背景

16.1.2 监控方法

16.2 PSI和CSI

16.2.1 PSI

16.2.2 CSI

16.3 工程实现

16.3.1 功能简介

16.3.2 代码清单和示例

16.4 其他监控角度

16.5 监控异常处理方案

16.6 本章小结

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部