机器学习:软件工程方法与实现pdf下载pdf下载

机器学习:软件工程方法与实现百度网盘pdf下载

作者:
简介:本篇主要提供机器学习:软件工程方法与实现pdf下载
出版社:智囊图书专营店
出版时间:2020-12
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

适读人群 :1.机器学习爱好者或从业者;2.不具有编程背景的数据分析师、模型工程师;3.具有编程背景的转行程序员和算法工程师;4.高校师生

1)作者。某大型金融科技集团大数据与机器学习技术专家撰写,英国伯明翰大学机器学习教授审校;

2)视角独特。将软件工程中的方法应用到机器学习实践中,重视方法论和工程实践的融合。全面呈现了机器学习项目开发的完整链路;

3)注重实践。不是单纯地阐述理论,而是重在实践,介绍了在实际项目中对时间、人力成本等的权衡策略。

内容简介

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


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

作者简介

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

^_^:ec31cb7d193a92d563bfe254089dd61d