搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
机器学习:软件工程方法与实现
0.00     定价 ¥ 109.00
浙江图书馆
  • ISBN:
    9787111669227
  • 作      者:
    张春强,张和平,唐振
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2020-12-01
收藏
编辑推荐

1)作者资深。作者是有10年大数据和机器学习经验且富有创造力的技术专家,先后就职于大型IT、世界500强企业等,目前就职于某大型金融科技集团;

2)视角独特。将软件工程中的方法应用到机器学习实践中,重视方法论和工程实践的融合。全面呈现了机器学习项目开发的完整链路,提供高质量的代码设计、可直接复用的源码和工业应用框架;

3)注重实践。提出机器学习是一门实验,实践学科,突出其工具、方法和策略的重要性,强调实际项目中时间、人力成本等权衡策略。


展开
作者简介

张春强 
是一位具有3年C/C++、7年大数据和机器学习经验且富有创造力的技术专家,在技术一线摸爬滚打近10年,先后就职于大型IT、世界500强企业,目前就职于某大型金融科技集团,负责数据挖掘、机器学习相关工作的管理和研发。时隔5年,他再次为读者书写了一本技术专著。


张和平 
现就职于某互联网金融集团科技公司,任大数据模型工程师,负责机器学习在金融风控和用户运营方面的应用工作,善于运用机器学习、数据挖掘、知识图谱和大数据技术解决实际的业务问题。在大数据风控建模、用户画像、大数据平台建设等方面有丰富的实践经验。


展开
内容介绍

这是一部指导读者如何将软件工程的思想、方法、工具和策略应用到机器学习实践中的著作。
作者融合了自己10年的工程实践经验,以Python为工具,详细阐述机器学习核心概念、原理和实现,并提供了数据分析和处理、特征选择、模型调参和大规模模型上线系统架构等多个高质量源码包和工业应用框架,旨在帮助读者提高代码的设计质量和机器学习项目的工程效率。

全书共16章,分为4个部分:
第一部分 工程基础篇(1~3章)
介绍了机器学习和软件工程的融合,涉及理论、方法、工程化的数据科学环境和数据准备;
第二部分 机器学习基础篇(4、5章)
讲述了机器学习建模流程、核心概念,数据分析方法;
第三部分 特征篇(6~8章)
详细介绍了多种特征离散化方法和实现、特征自动衍生工具和自动化的特征选择原理与实现;
第四部分 模型篇(9~16章)
首先,深入地剖析了线性模型、树模型和集成模型的原理,以及模型调参方法、自动调参、模型性能评估和模型解释等;然后,通过5种工程化的模型上线方法讲解了模型即服务;最后,讲解了模型的稳定性监控的方法与实现,这是机器学习项目的最后一环。


展开
目录

前言

第一部分 工程基础篇

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

1.1 机器学习简述  2

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

1.1.2 机器学习类别与范式  4

1.2 软件工程方法  13

1.2.1 机器学习中的软件工程  15

1.2.2 编码和测试  18

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

1.3.1 开发准备  22

1.3.2 开发邮件分类器  24

1.4 本章小结  29

第2章 工程环境准备  30

2.1 Anaconda  31

2.1.1 安装Anaconda  31

2.1.2 使用conda管理环境  32

2.1.3 Jupyter Notebook 基础使用和示例  34

2.2 使用Pipenv定制Python环境  37

2.2.1 Pipenv简介  38

2.2.2 Pipenv基础使用和示例  39

2.3 Docker打包环境  41

2.3.1 Docker简述  42

2.3.2 Docker架构  43

2.3.3 Docker基础使用和示例  45

2.3.4 打包示例  46

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

2.5 数据科学项目工程环境  49

2.5.1 开发镜像  50

2.5.2 项目工程模板  51

2.5.3 操作演示  54

2.6 本章小结  55

第3章 实验数据准备  56

3.1 常用数据分布  56

3.1.1 伯努利分布  58

3.1.2 二项分布  58

3.1.3 泊松分布  58

3.1.4 均匀分布  59

3.1.5 正态分布  59

3.1.6 指数分布  60

3.2 开源数据集  62

3.2.1 开源数据集介绍  62

3.2.2 scikit-learn中的数据集  63

3.3 scikit-learn数据集生成接口  66

3.3.1 常用接口  66

3.3.2 分类模型随机数据生成  67

3.3.3 回归模型随机数据生成  68

3.3.4 聚类模型随机数据生成  69

3.4 随机数生成简介  70

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

3.4.2 随机数生成示例  72

3.4.3 随机数应用场景介绍  72

3.5 本章小结  73

第二部分 机器学习基础篇

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

4.1 机器学习项目流程  76

4.1.1 如何定义Y  78

4.1.2 如何取样X  81

4.1.3 如何划分数据集  83

4.1.4 如何选择学习算法  84

4.1.5 数据分析和处理  85

4.1.6 特征工程  87

4.1.7 模型训练与调参  88

4.1.8 模型评估与报告  89

4.1.9 模型部署  91

4.1.10 模型监控  91

4.1.11 模型重训或重建  92

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

4.2.1 损失函数和正则化  92

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

4.2.3 交叉验证  101

4.2.4 数据泄露  104

4.3 本章小结  106

第5章 数据分析与处理  107

5.1 变量的类型  107

5.2 常用分析方法  108

5.2.1 整体数据概览  109

5.2.2 单变量可视化分析  110

5.2.3 双变量可视化分析  113

5.2.4 多变量可视化分析  118

5.3 缺失值分析与处理  120

5.3.1 数据缺失的类型  120

5.3.2 查看缺失情况  120

5.3.3 缺失值处理方式  122

5.4 异常值分析与处理  126

5.4.1 查看异常情况  126

5.4.2 异常值处理  129

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

5.5.1 核心功能  129

5.5.2 使用示例  130

5.5.3 核心代码  131

5.6 本章小结  139

第三部分 特征篇

第6章 特征工程  142

6.1 特征工程简介  142

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

6.2.1 定量特征  146

6.2.2 序数特征  148

6.2.3 类别特征  149

6.2.4 WOE编码  153

6.2.5 日期特征  155

6.3 特征离散化方法和实现  156

6.3.1 等宽和等频离散法  158

6.3.2 信息熵分箱原理与实现  161

6.3.3 Best-KS分箱原理与实现  167

6.3.4 卡方分箱原理与实现  172

6.3.5 分箱效果  178

6.4 本章小结  178

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

7.1 特征衍生  180

7.2 Featuretools简介  181

7.2.1 安装  182

7.2.2 核心概念和接口介绍  182

7.3 Featuretools原理  186

7.3.1 特征综合抽象  187

7.3.2 深度特征综合算法  187

7.4 Featuretools实践案例  189

7.4.1 流程  189

7.4.2 捷信数据  189

7.4.3 构建实体和实体集  191

7.4.4 构建关系  193

7.4.5 特征基元  196

7.4.6 深度特征合成  197

7.5 本章小结  198

第8章 特征选择  199

8.1 特征选择概述  199

8.1.1 特征选择及其意义  200

8.1.2 业务层特征选择  200

8.1.3 技术层特征选择  201

8.2 特征选择流程与模式  204

8.2.1 数据质量和特征质量  204

8.2.2 串联和并联流程  205

8.2.3 特征选择结果评价  206

8.3 特征预测力指标  206

8.3.1 相关性指标  207

8.3.2 关联性指标  208

8.4 过滤法与实现  211

8.4.1 常用单指标过滤法  211

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

8.4.3 最小冗余最大相关  214

8.5 包裹法与实现  215

8.5.1 前向选择实现  217

8.5.2 后向选择实现  218

8.5.3 Stepwise实现  219

8.6 嵌入法与实现  222

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

8.6.2 基于正则的特征选择  223

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

8.8 本章小结  230

第四部分 模型篇

第9章 线性模型  232

9.1 普通线性回归模型  232

9.1.1 线性回归  233

9.1.2 线性回归的假设  236

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

9.2 广义线性模型  238

9.2.1 建模方法论  238

9.2.2 示例  240

9.3 正则化的回归  240

9.3.1 正则化原理  240

9.3.2 Lasso和Ridge回归  241

9.3.3 正则化效果演示  241

9.4 逻辑回归  247

9.4.1 模型原理  247

9.4.2 最大似然估计  249

9.4.3 LogisticRegression解析与示例  249

9.5 金融评分卡  252

9.5.1 评分卡简介  252

9.5.2 加性原理  253

9.5.3 评分刻度与实现  254

9.6 解决共线性  257

9.7 本章小结  257

第10章 树模型  259

10.1 树结构  259

10.2 决策树  260

10.3 决策树算法  261

10.3.1 熵和基尼指数  261

10.3.2 ID3算法  263

10.3.3 C4.5算法  266

10.3.4 CART  267

10.4 树的剪枝  269

10.4.1 预剪枝  269

10.4.2 后剪枝  269

10.5 特征处理  270

10.5.1 连续值处理  271

10.5.2 缺失值处理  271

10.6 决策树实现示例  272

10.7 本章小结  275

第11章 集成模型  276

11.1 模型的可变组件  276

11.1.1 数据集之行列采样  277

11.1.2 算法之同质和异质  277

11.2 层次化的集成方法  278

11.2.1 投票组合法  278

11.2.2 前向逐步叠加法  280

11.3 Bagging方法  281

11.3.1 Bootstrap和Aggregating  281

11.3.2 Bagging模型性能分析实验  282

11.3.3 Bagging偏差和方差解析  286

11.3.4 随机森林  289

11.4 Boosting方法  291

11.4.1 Boosting的原理与实现示例  291

11.4.2 Boosting建模解析示例  299

11.4.3 Boosting的集大成者:XGBoost  300

11.5 Stacking概述与实现示例  301

11.6 Super Learner与ML-Ensemble  304

11.6.1 Super Learner实现示例  305

11.6.2 ML-Ensemble集成库  307

11.7 本章小结  312

第12章 模型调参  313

12.1 模型调参概述  313

12.1.1 调参问题定义  313

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

12.1.3 调参三要素  315

12.2 调参流程和方法  316

12.2.1 调参流程  316

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

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

12.3 Model-Free方法  321

12.3.1 网格搜索  321

12.3.2 随机搜索  323

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

12.4.1 功能和易用性设计  324

12.4.2 使用示例  325

12.4.3 代码清单  326

12.5 贝叶斯方法  333

12.5.1 贝叶斯优化介绍  333

12.5.2 BayesianOptimization优化实例  334

12.6 部分开源调参项目简介  337

12.6.1 Ray-Tune  337

12.6.2 optuna  339

12.7 本章小结  341

第13章 模型性能评估  342

13.1 训练误差vs测试误差  342

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

13.2.1 留出法  343

13.2.2 交叉验证法  345

13.2.3 留一法  346

13.2.4 自助取样法  347

13.3 性能度量  348

13.3.1 分类任务  348

13.3.2 回归任务  357

13.4 本章小结  360

第14章 模型解释  361

14.1 模型解释概述  361

14.1.1 模型解释的意义  362

14.1.2 局部和全局解释  363

14.2 模型解释可视化方法  364

14.2.1 PDP  364

14.2.2 ICE  370

14.3 解释线性模型  371

14.4 解释树模型  372

14.4.1 树模型特征的重要性  373

14.4.2 决策路径  374

14.4.3 Treeinterpreter  375

14.5 模型无关解释方法  378

14.5.1 特征重要性方法  378

14.5.2 代理模型:LIME  380

14.5.3 基于博弈论的SHAP  383

14.6 本章小结  390

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

15.1 模型上线方案  391

15.1.1 是否提供独立服务  392

15.1.2 是否提取模型细节  392

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

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

15.3.1 规则转化为Python代码  395

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

15.3.3 规则转化为SQL代码  396

15.4 PMML和ONNX  398

15.4.1 PMML  398

15.4.2 ONNX  400

15.5 编译为共享库加速预测  401

15.5.1 Treelite原理  401

15.5.2 使用示例  402

15.5.3 部署方法  403

15.6 原生模型持久化  404

15.6.1 写接口  405

15.6.2 读接口  406

15.7 RESTful Web Services构建  406

15.7.1 快速构建API服务  407

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

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

15.8.1 架构设计  417

15.8.2 定制镜像  418

15.8.3 编排可扩展服务示例  419

15.9 本章小结  420

第16章 模型稳定性监控  421

16.1 背景和监控方法  421

16.1.1 背景  421

16.1.2 监控方法  422

16.2 PSI和CSI  423

16.2.1 PSI  423

16.2.2 CSI  425

16.3 工程实现  425

16.3.1 功能简介  426

16.3.2 代码清单和示例  426

16.4 其他监控角度  429

16.5 监控异常处理方案  430

16.6 本章小结  430

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用浙江图书馆的读者帐号和密码进行登录

点击获取验证码
登录