第 12 章 实地经验教训 实地经验教训
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在本章中,我们收集了在大数据量和速度关键型情况下使用 Python 的成功公司的故事。这些故事由每个组织中拥有多年经验的关键人物撰写;他们不仅分享了自己的技术选择,还分享了一些来之不易的智慧。我们为您准备了四个来自本领域其他专家的精彩新故事。我们还保留了本书第一版中的 "现场经验",标题标有"(2014)"。
使用Feature-engine简化特征工程管道
Train in Data 是一个由经验丰富的数据科学家和人工智能软件工程师领导的教育项目。我们帮助专业人士提高编码和数据科学技能,并采用机器学习最佳实践。我们创建了关于机器学习和人工智能软件工程的高级在线课程,并创建了像Feature-engine 这样的开源库,以顺利交付机器学习解决方案。
机器学习的特征工程
机器学习模型接收大量输入变量,然后输出预测结果。例如,在金融和保险领域,我们建立模型来预测贷款偿还的可能性、申请被欺诈的可能性以及事故发生后汽车应该修理还是更换。我们收集和存储的数据或从第三方应用程序接口调用的数据几乎从不适合用于训练机器学习模型或返回预测结果。相反,我们在将变量输入机器学习算法之前会对其进行大量转换。我们将变量转换集合称为特征工程。
特征工程包括对缺失数据进行估算、对分类变量进行编码、对数字变量进行转换或离散化、将特征置于同一尺度内、将特征组合成新变量、从日期中提取信息、汇总事务数据,以及从时间序列、文本甚至图像中提取特征。每个特征工程步骤都有许多技术,您的选择取决于变量的特征和您打算使用的算法。因此,当特征工程师在企业中构建和使用机器学习时,我们所说的不是机器学习模型,而是机器学习管道,其中很大一部分管道都用于特征工程和数据转换。
部署功能工程管道的艰巨任务
许多特征工程转换都是从数据中学习参数。我见过一些组织使用带有硬编码参数的配置文件。这些文件限制了通用性,而且难以维护(每次重新训练模型时,都需要用新参数重写配置文件)。要创建高性能的特征工程管道,最好是开发能够自动学习和存储这些参数的算法,而且还可以保存和加载,最好是作为一个对象。
在 Train in Data,我们在研究环境中开发机器学习管道,并将其部署到生产环境中。这些管道应具有可重复性。可重复性是指完全复制机器学习模型的能力,即在输入相同数据的情况下,两个模型返回相同的输出结果。在研究和生产环境中使用相同的代码,可以最大限度地减少需要重写的代码量,从而最大限度地提高可重复性,从而顺利部署机器学习管道。
需要对特征工程转换进行测试。对每个功能工程程序进行单元测试,可确保算法返回所需的结果。为增加单元测试和集成测试而在生产过程中进行大量代码重构极其耗时,而且会带来新的机会来引入错误,或发现由于缺乏测试而在研究阶段引入的错误。为了尽量减少生产中的代码重构,我们最好在研究阶段开发工程算法时引入单元测试。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access