虽然大多数的特征策略都与领域相关,并且必须针对每个应用程序进行专门调整。但特征工程是操纵原始数据和提取机器学习特征的过程,探索性数据分析 (EDA) 可以使用特征工程技术来可视化数据并在执行机器学习任务之前更好地识别模式和异常值。这是数据科学的重要一步,可以确保特定机器学习应用程序的预期结果。
使用 EDA 和特征工程的组合具有多种优势:
- 提高准确性
- 减少训练时间
- 减少过拟合
- 简化模型
特征工程技术
有多种特征工程方法可以用于机器学习的各种特定应用和数据类型。这些可以包括:
- 转换——缩放或编码数据以便模型更好地理解
- 分类编码
- 特征缩放
- 特征选择——挑选出不必要或导致模型准确性降低的特征
- 特征创建——创建从其他特征中提取或结合的新特征,以便对模型更有用
- 特征提取——通常是某种形式的降维(PCA、ICA 等)
- 自动编码器
在典型的机器学习项目中,数据科学家会使用特征工程技术的组合创建复杂的管道,处理数据并为机器学习做好准备。这个过程通常是机器学习中最繁琐和最需要技能的部分。
端到端的特征转换
复杂特征工程管道的一个潜在替代方案是端到端的特征转换。在端到端方法中,机器学习从原始输入数据到输出预测的整个过程是通过一个连续的管道来学习的。端到端管道所需的配置较少,并且可以轻松应用于多种形式的数据。但是使用特征工程的方法可以比端到端方法做得更好,因为它们可以针对特定任务进行更好的调整。
端到端特征工程方法不会取代 EDA。换句话说,端到端的特征转换方法也是一种特征工程,它使用机器学习模型将原始数据直接转换为可用于提高模型准确性的数据。此过程几乎不需要对数据进行预处理,并且可以轻松应用于许多领域。
在 Jean-Yves Franceschi 等人的论文“Unsupervised Scalable Representation Learning for Multivariate Time Series”。通过卷积和三元组损失学习数据的表示,并提出了一种端到端的特征转换方法,这种使用无监督卷积的方法简化并应用于各种数据。
简而言之,他们正在实现一个卷积神经网络,该网络将转换和提取特征,然后将其发送到你选择的机器学习模型执行预测。经过适当训练,这个 CNN 将能够为我们的模型提取重要特征,并准确执行其给定任务。
在本文中,我将使用来Pytorch , sklearn 和Kaggle的牛油果价格数据集