特征工程是啥东东?为何需要实现自动化?
在数据科学界,重点通常放在算法选择和模型训练上,这些确实很重要,但是AI/ML工作流程中最关键的部分不是我们如何选择或调整算法,而是把什么输入到AI/ML,即特征工程(Feature Engineering)。
特征工程是数据科学界的圣杯,也是决定AI/ML结果质量的最关键步骤。无论使用哪种算法,特征工程都决定模型性能,并影响机器学习生成有意义的见解并最终解决业务问题的能力。
特征工程简介
特征工程是运用领域知识从原始数据中提取分析表示,使其准备用于机器学习的过程。这是开发用于预测的机器学习模型的第一步。
特征工程需要运用业务知识、数学和统计学,将数据转换成机器学习模型可以直接使用的格式。它从散布在不同数据库中的许多表开始,然后使用统计转换及/或关系操作将这些表连接、聚合并合并为一个扁平表。
比如说,预测在任何一个季度可能流失的客户意味着要确定最有可能不再与公司有业务往来的潜在客户。你如何做出这样的预测?我们通过查看根本原因来预测流失率。这个过程基于分析客户行为,然后创建假设。比如说,客户A在上个月与客户支持部门联系了五次——暗示客户A在投诉,很可能流失。在另一种场景下,客户A的产品使用量在过去两个月可能下降了30%,这表明客户A流失的可能性很大。特征工作的任务就是查看历史行为,提取一些假设模式,并测试这些假设。
揭密特征工程
特征工程旨在从历史数据中提取业务假设。涉及客户流失等预测的业务问题是分类问题。
可以使用多种ML算法,比如经典逻辑回归、决策树、支持向量机、提升(boosting)和神经网络。虽然所有这些算法都需要单个扁平矩阵作为输入,但原始业务数据存储在关系复杂的不同表中(比如事务、时间和地理位置等表)。
我们可以先连接两个表,对连接表执行时间聚合,以提取时间用户行为模式。实际的特征工程比简单的转换操作(比如独热编码,将分类值转换成二进制指示符以便ML算法可以利用)复杂得多。为了实现特征工程,我们编写成百上千个类似SQL的查询,执行大量的数据操作以及大量的统计转换。
在机器学习环境下,如果我们知道历史模式,可以创建假设。基于该假设,我们就可以预测可能的结果——比如在特定时间段内哪些客户可能流失。而特征工作的关键是找到假设的最佳组合。
特征工程至关重要,因为如果我们提供错误的假设作为输入,ML无法做出准确的预测。任何提供的假设的质量对于ML模型的成功而言至关重要。从准确性和可解释性的角度出发,特征质量至关重要。
为何特征工程需要实现自动化?
特征工程是迭代性最强、最耗时、最耗资源的过程,涉及跨学科专业知识。它需要技术知识,但更重要的是需要领域知识。
数据科学团队构建特征的办法是,与领域专家合作,测试假设,构建和评估ML模型,重复该过程直到结果被公司接受。由于需要深入的领域知识来生成高质量的特征,因此特征工程被广泛认为是专家的“魔法”;即使团队常常花80%的精力,从原始业务数据来开发高质量的特征表,也不可能实现自动化。
特征工程自动化大有潜力改变传统的数据科学过程。它大大降低了技术壁垒,消除了成百上千个手动的SQL查询,即使没有全面了解领域知识,也可以提高数据科学项目的速度。它还基于在数小时内探索数百万个特征假设的功能,加强了我们对数据的了解,并带来了“未知的不确定因素”。
实现特征工程自动化的AutoML 2.0
最近,ML自动化(又叫AutoML)备受关注。AutoML克服企业面临的重大挑战之一:AI和ML项目所花的时间很长,通常要数月才能完成,还缺少处理该问题的专业人才。
虽然目前的AutoML产品无疑在加快AI和机器学习过程中取得了重大进展,但它们未能解决最重要的步骤:从原始业务数据准备机器学习输入的过程,即特征工程。
为了真正改变现代企业利用AI和机器学习的方式,数据科学开发的整个周期势必需要自动化。如果数据科学自动化的核心问题是由于缺少数据科学家、业务用户对ML了解不够以及难以迁移到生产环境,那么AutoML也必须克服这些挑战。
使数据和特征工程实现自动化的AutoML 2.0浮出水面,简化特征工程自动化和ML自动化,作为单单一条流水线和一站式系统。有了AutoML 2.0,从原始数据、数据和特征工程到ML模型开发的整个周期只需要几天而不是几个月,团队交付的项目会多10倍。
特征工程有助于揭示数据中的隐藏模式,基于机器学习助力预测分析。算法需要含有相关业务假设和历史模式的高质量输入数据,特征工程提供了这种数据。然而,它是AI/ ML工作流程中最依赖人且最耗时的部分。