作品简介

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

张春强,张和平,唐振著。

作品目录

  • 前言
  • 第一部分 工程基础篇
  • 第1章 机器学习软件工程方法
  • 1.1 机器学习简述
  • 1.2 软件工程方法
  • 1.3 朴素贝叶斯测试驱动开发案例
  • 1.4 本章小结
  • 第2章 工程环境准备
  • 2.1 Anaconda
  • 2.2 使用Pipenv定制Python环境
  • 2.3 Docker打包环境
  • 2.4 标准化在数据科学项目中的意义
  • 2.5 数据科学项目工程环境
  • 2.6 本章小结
  • 第3章 实验数据准备
  • 3.1 常用数据分布
  • 3.2 开源数据集
  • 3.3 scikit-learn数据集生成接口
  • 3.4 随机数生成简介
  • 3.5 本章小结
  • 第二部分 机器学习基础篇
  • 第4章 机器学习项目流程与核心概念
  • 4.1 机器学习项目流程
  • 4.2 机器学习算法8个核心概念
  • 4.3 本章小结
  • 第5章 数据分析与处理
  • 5.1 变量的类型
  • 5.2 常用分析方法
  • 5.3 缺失值分析与处理
  • 5.4 异常值分析与处理
  • 5.5 数据分析工具包开发实战
  • 5.6 本章小结
  • 第三部分 特征篇
  • 第6章 特征工程
  • 6.1 特征工程简介
  • 6.2 特征处理基础方法和实现
  • 6.3 特征离散化方法和实现
  • 6.4 本章小结
  • 第7章 基于Featuretools的自动特征衍生
  • 7.1 特征衍生
  • 7.2 Featuretools简介
  • 7.3 Featuretools原理
  • 7.4 Featuretools实践案例
  • 7.5 本章小结
  • 第8章 特征选择
  • 8.1 特征选择概述
  • 8.2 特征选择流程与模式
  • 8.3 特征预测力指标
  • 8.4 过滤法与实现
  • 8.5 包裹法与实现
  • 8.6 嵌入法与实现
  • 8.7 特征选择工具包开发实战
  • 8.8 本章小结
  • 第四部分 模型篇
  • 第9章 线性模型
  • 9.1 普通线性回归模型
  • 9.2 广义线性模型
  • 9.3 正则化的回归
  • 9.4 逻辑回归
  • 9.5 金融评分卡
  • 9.6 解决共线性
  • 9.7 本章小结
  • 第10章 树模型
  • 10.1 树结构
  • 10.2 决策树
  • 10.3 决策树算法
  • 10.4 树的剪枝
  • 10.5 特征处理
  • 10.6 决策树实现示例
  • 10.7 本章小结
  • 第11章 集成模型
  • 11.1 模型的可变组件
  • 11.2 层次化的集成方法
  • 11.3 Bagging方法
  • 11.4 Boosting方法
  • 11.5 Stacking概述与实现示例
  • 11.6 Super Learner与ML-Ensemble
  • 11.7 本章小结
  • 第12章 模型调参
  • 12.1 模型调参概述
  • 12.2 调参流程和方法
  • 12.3 Model-Free方法
  • 12.4 XGBoost自动调参工具开发实战
  • 12.5 贝叶斯方法
  • 12.6 部分开源调参项目简介
  • 12.7 本章小结
  • 第13章 模型性能评估
  • 13.1 训练误差vs测试误差
  • 13.2 模型评估常见的数据切割方法
  • 13.3 性能度量
  • 13.4 本章小结
  • 第14章 模型解释
  • 14.1 模型解释概述
  • 14.2 模型解释可视化方法
  • 14.3 解释线性模型
  • 14.4 解释树模型
  • 14.5 模型无关解释方法
  • 14.6 本章小结
  • 第15章 模型上线之模型即服务
  • 15.1 模型上线方案
  • 15.2 提取系数上线:回归模型和评分卡
  • 15.3 自动规则提取上线:决策树示例
  • 15.4 PMML和ONNX
  • 15.5 编译为共享库加速预测
  • 15.6 原生模型持久化
  • 15.7 RESTful Web Services构建
  • 15.8 基于Docker大规模微服务上线架构
  • 15.9 本章小结
  • 第16章 模型稳定性监控
  • 16.1 背景和监控方法
  • 16.2 PSI和CSI
  • 16.3 工程实现
  • 16.4 其他监控角度
  • 16.5 监控异常处理方案
  • 16.6 本章小结
展开全部