机器学习项目交付实战

机器学习项目交付实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2023-07
版次: 1
ISBN: 9787302637424
定价: 128.00
装帧: 其他
开本: 16开
纸张: 胶版纸
  • 《机器学习项目交付实战》将介绍如何从模型和数据中获取**性能,帮助你构建稳定的数据管道。通过高效的可复用技术集合,来确保应用程序工作流程的顺利执行,以及提高模型的可维护性。基于数十年的良好软件工程实践,机器学习工程可确保你的机器学习系统具有弹性、适应性和可执行性。 《机器学习项目交付实战》将介绍设计、构建和交付成功的机器学习项目的核心原则和上佳实践。你将了解很多软件工程技术,例如对原型进行实验和实施模块化设计,从而产生弹性架构和一致的跨团队沟通。基于作者丰富的经验,本书中的每一种方法都被成功地用于解决现实世界中的问题。 ● 根据预期和预算确定机器学习项目的范围 ● 为你的项目选择正确的技术路线 ● 使你的代码库更易于理解,提升可维护性和可测试性 ● 实现故障排除和日志系统的自动化 Ben Wilson是一名机器学习工程师,曾担任过核工程技术员、半导体工艺工程师和数据科学家。十多年来,他一直在解决数据和开源工具方面的问题,在过去的4年里他帮助其他人完成相同的工作。他喜欢构建机器学习框架代码,帮助人们思考有挑战性的数据科学问题,并喜欢开怀大笑。 第Ⅰ部分  机器学习工程简介

    第1章  什么是机器学习工程 3

    1.1  为什么使用机器学习工程 4

    1.2  机器学习工程的核心原则 7

    1.2.1  规划 7

    1.2.2  范围界定和研究 9

    1.2.3  实验 11

    1.2.4  研发 12

    1.2.5  部署 15

    1.2.6  评估 18

    1.3  机器学习工程的目标 20

    1.4  本章小结 21

    第2章  数据科学工程 23

    2.1  用提高项目成功率的过程增强复杂的专业 24

    2.2  简单的基础 25

    2.3  敏捷软件工程的工作原则 27

    2.3.1  沟通与合作 28

    2.3.2  拥抱并期待改变 30

    2.4  机器学习工程的基础 31

    2.5  本章小结 32

    第3章  在建模之前:规划和确定项目范围 33

    3.1  规划:你要我预测什么 36

    3.1.1  项目的基本规划 40

    3.1.2  首次会议 45

    3.1.3  规划演示——进行大量演示 47

    3.1.4  通过解决方案构建进行实验:磨刀不误砍柴工 49

    3.2  实验范围:设定预期和界限 51

    3.2.1  什么是实验范围 52

    3.2.2  机器学习团队的实验范围:研究 52

    3.2.3  机器学习团队的实验范围:实验 54

    3.3  本章小结 63

    第4章  建模之前:项目的沟通与逻辑 65

    4.1  沟通:定义问题 67

    4.1.1  理解问题 68

    4.1.2  设置严格的讨论界限 78

    4.2  不要浪费时间:与跨职能团队交流 84

    4.2.1  实验变更会议:我们知道自己在做什么吗 85

    4.2.2  SME 评审/原型评审:我们能解决这个问题吗 86

    4.2.3  开发进度评审:这会奏效吗 87

    4.2.4  MVP评审:是否生成了我们要求的内容 88

    4.2.5  预投产评审:我们真希望没有搞砸 89

    4.3  为实验设定限制 90

    4.3.1  设置时限 90

    4.3.2  可以投入生产吗? 你想维护它吗 92

    4.3.3  机器学习项目的TDD、RDD、PDD和CDD 93

    4.4  为混乱的业务规则做计划 96

    4.4.1  通过计划“拥抱混乱” 96

    4.4.2  “人机回环”设计 98

    4.4.3  你的备选方案是什么 99

    4.5  对结果进行讨论 99

    4.6  本章小结 101

    第5章  进行实验:规划和研究机器学习项目 103

    5.1  设计实验 104

    5.1.1  进行基础的研究和规划 105

    5.1.2  扔掉博客——仔细阅读API文档 108

    5.1.3  抽签决定内部黑客马拉松 112

    5.1.4  公平竞争环境 113

    5.2  执行实验准备工作 114

    5.2.1  执行数据分析 115

    5.2.2  从脚本转向可重用代码 121

    5.2.3  为实验构建可重用代码的最后说明 128

    5.3  本章小结 131

    第6章  进行实验:测试与评估 133

    6.1  测试想法 135

    6.1.1  在代码中设置准则 136

    6.1.2  运行快速预测测试 143

    6.2  减少可能性 158

    6.2.1  正确评估原型 159

    6.2.2  决定前进的方向 161

    6.2.3  接下来做什么 163

    6.3  本章小结 164

    第7章  实践实验:从原型到MVP 165

    7.1  调整:自动化那些恼人的过程 166

    7.1.1  调优选项 168

    7.1.2  Hyperopt入门 172

    7.1.3  使用Hyperopt调优复杂的预测问题 175

    7.2  为平台和团队选择合适的技术 179

    7.2.1  使用Spark的理由 181

    7.2.2  用SparkTrials处理来自Driver的调优 183

    7.2.3  用pandas_udf处理来自Worker的调优 186

    7.2.4  为团队使用新范式:平台和技术 190

    7.3  本章小结 191

    第8章  动手实战:使用MLflow和运行时优化实现MVP 193

    8.1  日志记录:代码、指标和结果 194

    8.1.1  MLflow跟踪 194

    8.1.2  不要通过打印记录日志 196

    8.1.3  版本控制、分支策略和与他人合作 198

    8.2  可伸缩性和并发性 200

    8.2.1  什么是并发 200

    8.2.2  哪些内容可以(或不可以)异步运行 203

    8.3  本章小结 203

    第Ⅱ部分  为投产做准备:创建可维护的机器学习项目

    第9章  机器学习中的模块化:编写可测试且易读的代码 207

    9.1  单片脚本及其缺点 209

    9.1.1  “巨石”是如何形成的 210

    9.1.2  文本墙 210

    9.1.3  单片脚本的注意事项 213

    9.2  调试文本墙 215

    9.3  对机器学习代码进行模块化设计 221

    9.4  机器学习的测试驱动开发 222

    9.5  本章小结 226

    第10章  编码标准和创建可维护的机器学习代码 227

    10.1  机器学习的代码异味 228

    10.2  命名、结构和代码体系结构 230

    10.2.1  命名约定和结构 231

    10.2.2  别耍小聪明 232

    10.2.3  代码体系结构 233

    10.3  元组解包和可维护的替代方案 235

    10.3.1  元组解包示例 235

    10.3.2  元组解包的可靠替代方案 237

    10.4  对问题视而不见:“饮食异常”和其他不良做法 239

    10.4.1  精准使用try/catch 239

    10.4.2  精心设计的异常处理 241

    10.4.3  正确处理错误 242

    10.5  使用全局可变对象 244

    10.5.1  易变性会如何伤害你 245

    10.5.2  封装以防止可变性带来的副作用 246

    10.6  过多的嵌套的逻辑 248

    10.7  本章小结 254

    第11章  模型测量及其重要性 255

    11.1  测量模型归因 256

    11.1.1  测量预测性能 258

    11.1.2  明确相关性与因果关系 264

    11.2  利用A/B检验进行归因计算 268

    11.2.1  A/B检验基础 268

    11.2.2  连续评估指标 271

    11.2.3  使用替代显示和检验 276

    11.2.4  评估分类指标 280

    11.3  本章小结 283

    第12章  通过观察漂移以保持你的收益 285

    12.1  检测漂移 285

    12.2  解决漂移问题 296

    12.2.1  我们可以做些什么 296

    12.2.2  应对漂移 298

    12.3  本章小结 299

    第13章  机器学习中的开发“傲慢” 301

    13.1  优雅的复杂性与过度设计 302

    13.1.1  轻量级脚本风格(命令式) 304

    13.1.2  “精心设计”的混乱 307

    13.2  无意混淆:如果不是你写的,你能否读懂 311

    13.2.1  关于混淆 311

    13.2.2  总结不良编码习惯 322

    13.3  不成熟的泛化、不成熟的优化以及其他显示你有多聪明的糟糕方式 323

    13.3.1  泛化和框架:除非不得已,否则不要使用它们 323

    13.3.2  过早优化 325

    13.4  你真的想作为“煤矿中的金丝雀”吗?Alpha测试和开源“煤矿”中的危险 332

    13.5  技术驱动的开发与解决方案驱动的开发 335

    13.6  本章小结 337

    第Ⅲ部分  开发生产机器学习代码

    第14章  编写生产代码 341

    14.1  你见到了你的数据吗 342

    14.1.1  确保你有数据 344

    14.1.2  检查数据来源 345

    14.1.3  找到真相的来源并与之保持一致 348

    14.1.4  不要将数据清理嵌入生产代码中 349

    14.2  监控你的特征 351

    14.3  监控模型生命周期中的所有其他内容 355

    14.4  保持一切尽可能简单 359

    14.4.1  问题定义的简洁性 361

    14.4.2  简单的实现 361

    14.5  机器学习项目的线框图 363

    14.6  避免机器学习中的货物崇拜行为 368

    14.7  本章小结 373

    第15章  质量和验收测试 375

    15.1  数据一致性 376

    15.1.1  训练和推理偏差 376

    15.1.2  特征存储简介 378

    15.1.3  过程胜于技术 379

    15.1.4  数据孤岛的危险 380

    15.2  回退和冷启动 382

    15.2.1  严重依赖现有技术 383

    15.2.2  冷启动问题 385

    15.3  最终用户与内部使用测试 387

    15.3.1  有偏见的测试 390

    15.3.2  自己公司的员工测试自研的产品(dogfooding) 391

    15.3.3  SME评估 392

    15.4  模型的可解释性 393

    15.4.1  Shapley加法解释 394

    15.4.2  使用shap包 396

    15.5  本章小结 401

    第16章  生产环境基础设施 403

    16.1  工件管理 404

    16.1.1  MLflow的模型注册 405

    16.1.2  使用模型注册进行连接 407

    16.2  特征库 412

    16.2.1  特征库的用途 413

    16.2.2  使用特征库 415

    16.2.3  评估特征库 418

    16.3  预测服务体系结构 419

    16.3.1  确定服务需求 421

    16.3.2  批量外部交付 427

    16.3.3  微批量流式传输 429

    16.3.4  实时服务器端 430

    16.3.5  集成模型(边缘部署) 433

    16.4  本章小结 434

    附录A  Big O以及如何考虑运行时性能 435

    附录B  设置开发环境 461

     

     
  • 内容简介:
    《机器学习项目交付实战》将介绍如何从模型和数据中获取**性能,帮助你构建稳定的数据管道。通过高效的可复用技术集合,来确保应用程序工作流程的顺利执行,以及提高模型的可维护性。基于数十年的良好软件工程实践,机器学习工程可确保你的机器学习系统具有弹性、适应性和可执行性。 《机器学习项目交付实战》将介绍设计、构建和交付成功的机器学习项目的核心原则和上佳实践。你将了解很多软件工程技术,例如对原型进行实验和实施模块化设计,从而产生弹性架构和一致的跨团队沟通。基于作者丰富的经验,本书中的每一种方法都被成功地用于解决现实世界中的问题。 ● 根据预期和预算确定机器学习项目的范围 ● 为你的项目选择正确的技术路线 ● 使你的代码库更易于理解,提升可维护性和可测试性 ● 实现故障排除和日志系统的自动化
  • 作者简介:
    Ben Wilson是一名机器学习工程师,曾担任过核工程技术员、半导体工艺工程师和数据科学家。十多年来,他一直在解决数据和开源工具方面的问题,在过去的4年里他帮助其他人完成相同的工作。他喜欢构建机器学习框架代码,帮助人们思考有挑战性的数据科学问题,并喜欢开怀大笑。
  • 目录:
    第Ⅰ部分  机器学习工程简介

    第1章  什么是机器学习工程 3

    1.1  为什么使用机器学习工程 4

    1.2  机器学习工程的核心原则 7

    1.2.1  规划 7

    1.2.2  范围界定和研究 9

    1.2.3  实验 11

    1.2.4  研发 12

    1.2.5  部署 15

    1.2.6  评估 18

    1.3  机器学习工程的目标 20

    1.4  本章小结 21

    第2章  数据科学工程 23

    2.1  用提高项目成功率的过程增强复杂的专业 24

    2.2  简单的基础 25

    2.3  敏捷软件工程的工作原则 27

    2.3.1  沟通与合作 28

    2.3.2  拥抱并期待改变 30

    2.4  机器学习工程的基础 31

    2.5  本章小结 32

    第3章  在建模之前:规划和确定项目范围 33

    3.1  规划:你要我预测什么 36

    3.1.1  项目的基本规划 40

    3.1.2  首次会议 45

    3.1.3  规划演示——进行大量演示 47

    3.1.4  通过解决方案构建进行实验:磨刀不误砍柴工 49

    3.2  实验范围:设定预期和界限 51

    3.2.1  什么是实验范围 52

    3.2.2  机器学习团队的实验范围:研究 52

    3.2.3  机器学习团队的实验范围:实验 54

    3.3  本章小结 63

    第4章  建模之前:项目的沟通与逻辑 65

    4.1  沟通:定义问题 67

    4.1.1  理解问题 68

    4.1.2  设置严格的讨论界限 78

    4.2  不要浪费时间:与跨职能团队交流 84

    4.2.1  实验变更会议:我们知道自己在做什么吗 85

    4.2.2  SME 评审/原型评审:我们能解决这个问题吗 86

    4.2.3  开发进度评审:这会奏效吗 87

    4.2.4  MVP评审:是否生成了我们要求的内容 88

    4.2.5  预投产评审:我们真希望没有搞砸 89

    4.3  为实验设定限制 90

    4.3.1  设置时限 90

    4.3.2  可以投入生产吗? 你想维护它吗 92

    4.3.3  机器学习项目的TDD、RDD、PDD和CDD 93

    4.4  为混乱的业务规则做计划 96

    4.4.1  通过计划“拥抱混乱” 96

    4.4.2  “人机回环”设计 98

    4.4.3  你的备选方案是什么 99

    4.5  对结果进行讨论 99

    4.6  本章小结 101

    第5章  进行实验:规划和研究机器学习项目 103

    5.1  设计实验 104

    5.1.1  进行基础的研究和规划 105

    5.1.2  扔掉博客——仔细阅读API文档 108

    5.1.3  抽签决定内部黑客马拉松 112

    5.1.4  公平竞争环境 113

    5.2  执行实验准备工作 114

    5.2.1  执行数据分析 115

    5.2.2  从脚本转向可重用代码 121

    5.2.3  为实验构建可重用代码的最后说明 128

    5.3  本章小结 131

    第6章  进行实验:测试与评估 133

    6.1  测试想法 135

    6.1.1  在代码中设置准则 136

    6.1.2  运行快速预测测试 143

    6.2  减少可能性 158

    6.2.1  正确评估原型 159

    6.2.2  决定前进的方向 161

    6.2.3  接下来做什么 163

    6.3  本章小结 164

    第7章  实践实验:从原型到MVP 165

    7.1  调整:自动化那些恼人的过程 166

    7.1.1  调优选项 168

    7.1.2  Hyperopt入门 172

    7.1.3  使用Hyperopt调优复杂的预测问题 175

    7.2  为平台和团队选择合适的技术 179

    7.2.1  使用Spark的理由 181

    7.2.2  用SparkTrials处理来自Driver的调优 183

    7.2.3  用pandas_udf处理来自Worker的调优 186

    7.2.4  为团队使用新范式:平台和技术 190

    7.3  本章小结 191

    第8章  动手实战:使用MLflow和运行时优化实现MVP 193

    8.1  日志记录:代码、指标和结果 194

    8.1.1  MLflow跟踪 194

    8.1.2  不要通过打印记录日志 196

    8.1.3  版本控制、分支策略和与他人合作 198

    8.2  可伸缩性和并发性 200

    8.2.1  什么是并发 200

    8.2.2  哪些内容可以(或不可以)异步运行 203

    8.3  本章小结 203

    第Ⅱ部分  为投产做准备:创建可维护的机器学习项目

    第9章  机器学习中的模块化:编写可测试且易读的代码 207

    9.1  单片脚本及其缺点 209

    9.1.1  “巨石”是如何形成的 210

    9.1.2  文本墙 210

    9.1.3  单片脚本的注意事项 213

    9.2  调试文本墙 215

    9.3  对机器学习代码进行模块化设计 221

    9.4  机器学习的测试驱动开发 222

    9.5  本章小结 226

    第10章  编码标准和创建可维护的机器学习代码 227

    10.1  机器学习的代码异味 228

    10.2  命名、结构和代码体系结构 230

    10.2.1  命名约定和结构 231

    10.2.2  别耍小聪明 232

    10.2.3  代码体系结构 233

    10.3  元组解包和可维护的替代方案 235

    10.3.1  元组解包示例 235

    10.3.2  元组解包的可靠替代方案 237

    10.4  对问题视而不见:“饮食异常”和其他不良做法 239

    10.4.1  精准使用try/catch 239

    10.4.2  精心设计的异常处理 241

    10.4.3  正确处理错误 242

    10.5  使用全局可变对象 244

    10.5.1  易变性会如何伤害你 245

    10.5.2  封装以防止可变性带来的副作用 246

    10.6  过多的嵌套的逻辑 248

    10.7  本章小结 254

    第11章  模型测量及其重要性 255

    11.1  测量模型归因 256

    11.1.1  测量预测性能 258

    11.1.2  明确相关性与因果关系 264

    11.2  利用A/B检验进行归因计算 268

    11.2.1  A/B检验基础 268

    11.2.2  连续评估指标 271

    11.2.3  使用替代显示和检验 276

    11.2.4  评估分类指标 280

    11.3  本章小结 283

    第12章  通过观察漂移以保持你的收益 285

    12.1  检测漂移 285

    12.2  解决漂移问题 296

    12.2.1  我们可以做些什么 296

    12.2.2  应对漂移 298

    12.3  本章小结 299

    第13章  机器学习中的开发“傲慢” 301

    13.1  优雅的复杂性与过度设计 302

    13.1.1  轻量级脚本风格(命令式) 304

    13.1.2  “精心设计”的混乱 307

    13.2  无意混淆:如果不是你写的,你能否读懂 311

    13.2.1  关于混淆 311

    13.2.2  总结不良编码习惯 322

    13.3  不成熟的泛化、不成熟的优化以及其他显示你有多聪明的糟糕方式 323

    13.3.1  泛化和框架:除非不得已,否则不要使用它们 323

    13.3.2  过早优化 325

    13.4  你真的想作为“煤矿中的金丝雀”吗?Alpha测试和开源“煤矿”中的危险 332

    13.5  技术驱动的开发与解决方案驱动的开发 335

    13.6  本章小结 337

    第Ⅲ部分  开发生产机器学习代码

    第14章  编写生产代码 341

    14.1  你见到了你的数据吗 342

    14.1.1  确保你有数据 344

    14.1.2  检查数据来源 345

    14.1.3  找到真相的来源并与之保持一致 348

    14.1.4  不要将数据清理嵌入生产代码中 349

    14.2  监控你的特征 351

    14.3  监控模型生命周期中的所有其他内容 355

    14.4  保持一切尽可能简单 359

    14.4.1  问题定义的简洁性 361

    14.4.2  简单的实现 361

    14.5  机器学习项目的线框图 363

    14.6  避免机器学习中的货物崇拜行为 368

    14.7  本章小结 373

    第15章  质量和验收测试 375

    15.1  数据一致性 376

    15.1.1  训练和推理偏差 376

    15.1.2  特征存储简介 378

    15.1.3  过程胜于技术 379

    15.1.4  数据孤岛的危险 380

    15.2  回退和冷启动 382

    15.2.1  严重依赖现有技术 383

    15.2.2  冷启动问题 385

    15.3  最终用户与内部使用测试 387

    15.3.1  有偏见的测试 390

    15.3.2  自己公司的员工测试自研的产品(dogfooding) 391

    15.3.3  SME评估 392

    15.4  模型的可解释性 393

    15.4.1  Shapley加法解释 394

    15.4.2  使用shap包 396

    15.5  本章小结 401

    第16章  生产环境基础设施 403

    16.1  工件管理 404

    16.1.1  MLflow的模型注册 405

    16.1.2  使用模型注册进行连接 407

    16.2  特征库 412

    16.2.1  特征库的用途 413

    16.2.2  使用特征库 415

    16.2.3  评估特征库 418

    16.3  预测服务体系结构 419

    16.3.1  确定服务需求 421

    16.3.2  批量外部交付 427

    16.3.3  微批量流式传输 429

    16.3.4  实时服务器端 430

    16.3.5  集成模型(边缘部署) 433

    16.4  本章小结 434

    附录A  Big O以及如何考虑运行时性能 435

    附录B  设置开发环境 461

     

     
查看详情
相关图书 / 更多
机器学习项目交付实战
机器学习与智能感知
张宝昌
机器学习项目交付实战
机器岛
(法)儒勒·凡尔纳著 许崇山 钟燕萍译
机器学习项目交付实战
机器学习及深度学习算法在医学图像中的应用
朱付保 著
机器学习项目交付实战
机器学习实战(视频教学版)
迟殿委 王培进 王兴平
机器学习项目交付实战
机器人末端执行器、作业工装及输送设备设计(应用型本科规划教材.机器人技术及应用)
荆学东 编著
机器学习项目交付实战
机器学习及其应用2023
黄圣君、张利军、钱超
机器学习项目交付实战
机器学习及其硬件实现 [日]高野茂之
(日)高野茂之
机器学习项目交付实战
机器视觉与传感器技术
邢博闻,许竞翔,管练武
机器学习项目交付实战
机器学习系统设计
(越南)奇普 胡岩(Chip Huyen)
机器学习项目交付实战
机器人系统输出反馈控制
雷靖、宋家庆
机器学习项目交付实战
机器学习与数据挖掘
王璐烽 唐腾健
机器学习项目交付实战
机器学习在边坡稳定性评价中的应用(英文版)
Wengang Zhang//Hanlong Liu//Lin Wang//Xing Zhu//Yanmei Zhang 编者
您可能感兴趣 / 更多
机器学习项目交付实战
一个画家的旅程(一本讲述被誉为“美国艺术创始人”的传记绘本)
[美]哈德逊·塔尔伯特
机器学习项目交付实战
蒙特卡洛的密码锁(数学大师的逻辑课) 文教科普读物 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
机器学习项目交付实战
福尔摩斯的棋盘:关于国际象棋的推理题(数学大师的逻辑课)
[美]雷蒙德·m.斯穆里安
机器学习项目交付实战
你好,我是阿斯伯格女孩
[美]露迪·西蒙
机器学习项目交付实战
金钱游戏(划时代增订版):深层透析金融游戏表象之下的规则与黑箱 长达60年盘踞金融畅销榜的现象级作品
[美]亚当·史密斯(Adam Smith) 著;刘寅龙 译
机器学习项目交付实战
波西·杰克逊阿波罗的试炼系列第3册:烈焰迷宫
[美]雷克·莱尔顿 著;火皮豆 译
机器学习项目交付实战
新视界文库-生命故事:生物学上的伟大发现
[美]肖恩·B.卡罗尔
机器学习项目交付实战
托尔斯泰
[美]莉莎·克纳普(Liza Knapp)
机器学习项目交付实战
爱,浪漫和婚姻的99个重点
[美]江柏 德 著
机器学习项目交付实战
故事思维 商业管理 思维表达职场沟通人际交往
[美]安妮特·西蒙斯 后浪
机器学习项目交付实战
全球通史(全六册)(另一个角度的“全球通史”,不一样的视野与新知。以地理为骨,历史为肉,一部超级丰满的世界通史。)
[美]塞缪尔·古德里奇 译者:冷惠玲、冯佳娜、王小忠、孙丽霞、李江艳
机器学习项目交付实战
《星际争霸》动画影像艺术
[美]罗伯特·布鲁克斯