功能工程
通过专业的特征工程提高机器学习的准确性。学习创建、转换和选择有影响力特征的技术。
特征工程是利用领域知识选择、创建原始数据并将其转化为特征的过程,这些特征能更好地代表预测模型的基本问题。这是机器学习(ML)流程中一个关键且往往耗时的步骤,因为特征的质量会直接影响所生成模型的性能和准确性。有效的特征工程可以使模型从平庸走向高精度,其性能提升往往比选择不同的算法或广泛的超参数调整更为显著。
## 功能工程流程
特征工程既是一门艺术,也是一门科学,它将领域专业知识与数学技术相结合。这一过程可细分为几种常见的活动,通常使用scikit-learn 的预处理模块等库或用于自动特征工程的专用工具进行管理。
- 功能创建:这包括从现有特征中创建新特征。例如,在零售数据集中,您可以从 "客户自 "日期中减去 "购买日期",从而创建 "客户忠诚度持续时间 "特征。在时间序列分析中,您可以从时间戳推导出移动平均值或季节性等特征。
- 转换:原始数据通常需要进行转换,以满足机器学习算法的假设。这包括缩放数值特征、应用对数变换处理倾斜数据,或使用二进制等技术将数字归类。
- 编码:许多 ML 模型无法直接处理分类数据。编码涉及将基于文本的类别转换为数字表示。常见的方法包括单次编码(将每个类别值转换成新的二进制列)和标签编码。
- 特征选择:并非所有特征都有用。有些特征可能是多余或不相关的,会带来噪音,导致过度拟合。特征选择的目的是选择最相关的特征子集,以提高模型性能并降低计算成本。
## 现实世界的应用
特征工程对许多行业的影响显而易见。它的有效性往往取决于深厚的领域知识,以创建能真正捕捉预测信号的特征。
- 信用评分:在金融领域,原始客户数据可能包括收入、年龄和贷款记录。功能工程师可能会创建新的变量,如 "债务收入比"(债务总额除以总收入)或 "信贷利用率"(信用卡余额除以信用额度)。与单纯的原始数据相比,这些工程化特征能更清晰地反映一个人的财务健康状况,从而建立更准确的信用风险模型。
- 预测性维护:在制造业中,机器上的传感器会产生大量的原始数据,如振动、温度和转速。为了预测故障,工程师可能会创建 "过去 24 小时温度滚动平均值 "或 "振动标准偏差 "等特征。这些特征可以揭示机械故障发生前的微妙退化模式,从而实现主动维护,避免代价高昂的停机时间。
### 功能工程与相关概念对比
必须将特征工程与人工智能和数据科学中的相关术语区分开来。
- 特征工程与特征提取:特征工程主要是一个基于直觉和专业知识创建新特征的人工过程。特征提取通常是将数据转化为精简特征集的自动化过程。在深度学习中,卷积神经网络(CNN)等模型可自动执行特征提取,从原始像素数据中学习分层特征(边缘、纹理、形状),无需人工干预。
- 特征工程与嵌入:嵌入是一种复杂的特征表征学习形式,常见于NLP和计算机视觉领域。模型不是手动创建特征,而是通过学习密集向量来捕捉项目(如单词或图像)的语义。因此,嵌入是自动特征学习的结果,而非人工工程。
- 特征工程与数据预处理:数据预处理是一个范围更广的类别,其关键步骤之一是特征工程。它还包括其他基本任务,如数据清理(处理缺失值和异常值)和准备用于训练的数据集。
虽然像Ultralytics YOLO模型这样的现代架构可以自动提取基于图像任务的特征,如对象检测和实例分割,但特征工程的原则仍然是最基本的。了解如何有效地表示数据对于调试模型、提高数据质量以及解决涉及将可视化数据与结构化数据相结合的复杂问题至关重要。Ultralytics HUB等平台提供了从数据集准备到模型部署的整个生命周期管理工具。