特征工程方案
1. 特征工程
1.1 定义
从原始数据中提取、构造和选择特征的过程。 主要包括以下活动:
- 特征提取(Feature Extraction): 从原始数据中提取有用的信息。
- 特征构造(Feature Construction):根据现有数据创建 新的特征(如 组合特征、交叉特征)
- 特征选择(Feature Selection):选择对模型有显著影响的特征,去除冗余或无关的特征。
- 特征变换(Feature Transformation):将特征转换为模型更易处理的形式(如使用主成分分析(PCA)来降维)
1.2 目的
创造出对机器学习模型有用的特征,能够有效地捕捉数据中的信息和模式。
1.3 特征处理、特征计算
1.3.1 特征处理
指 对特征数据进行预处理和转换的过程。通常包括(清洗、标准化、归一化等操作)
其目的是使特征数据符合模型的要求, 提升模型性能。
(特征处理) 是特征工程中一个具体步骤。 主要关注数据的 清晰和预处理。
主要的活动包括: 缺失值处理(填补或处理缺失值数据,如使用均值填补), 数据标准化和归一化(调整数据尺度,使得不同特征具有相似的尺度,例如:将数据缩放到0到1之间), 数据编码(将分类特征转换为数据值特征,例如:独热编码),异常值处理(检测并处理数据中的异常值,如截断或调整异常值)。
1.3.2 特征计算
根据现有数据计算特征值的过程。这通常包括对数据进行数学运算、统计计算或其他变换,以生成新的特征或调整现有特征。
(特征计算) 是特征工程的一部分, 专注于通过 数学运算或统计 方法生成或 调整特征。
特征计算可能在 特征构造和特征变换 阶段进行,是生成有用特征的关键操作之一。
总结
特征工程 是整个数据预处理和特征生成的过程,包括特征提取、构造、选择和变换。
特征处理 是特征工程中的具体步骤,处理数据质量问题,确保特征在模型训练前符合要求。
特征计算 是特征工程中的一个关键操作,通过数学和统计方法计算和生成特征,以支持特征提取和构造。
2. 特征工程方案
特征工程方案(Feature Engineering Approaches)指的是在数据科学和机器学习项目中,用于生成、选择和优化特征的各种方法和策略。这些方案通常根据具体任务、数据类型和模型需求来设计。以下是一些常见的特征工程方案和方法:
2.1 特征提取(Feature Extraction)
从原始数据中提取特征:
时间特征提取:从时间戳数据中提取日期、时间、星期几、季度等特征。
文本特征提取:从文本数据中提取词频、TF-IDF(词频-逆文档频率)、主题模型特征(如LDA)、词嵌入(如Word2Vec、BERT)等。
图像特征提取:使用卷积神经网络(CNN)提取图像的特征,如边缘、纹理、形状等。
2.2 特征构造(Feature Construction)
创建新的特征:
数学运算:对现有特征进行数学运算,如加法、乘法、平方根等。例如,创建“总消费金额”特征,作为“每次消费金额”与“消费次数”的乘积。
特征组合:组合多个特征生成新特征,如两个特征的交互项(特征A × 特征B)。
衍生特征:基于现有特征衍生新的特征,如通过对数变换、平方变换等。
2.3 特征选择(Feature Selection)
选择对模型最有帮助的特征:
过滤法(Filter Methods):使用统计方法(如卡方检验、相关系数)评估特征的重要性,并选择显著特征。
包裹法(Wrapper Methods):使用机器学习模型进行特征选择(如递归特征消除,RFE),通过模型性能评估特征的重要性。
嵌入法(Embedded Methods):特征选择与模型训练同时进行(如LASSO回归,决策树的重要性评分)。
2.4 特征变换(Feature Transformation)
对特征进行变换以优化模型性能:
标准化(Standardization):将特征调整为均值为0、方差为1的标准正态分布。
归一化(Normalization):将特征缩放到一个特定的范围(如0到1)。
主成分分析(PCA):通过线性变换将特征投影到主成分上,进行降维。
线性判别分析(LDA):进行特征降维,强调类别分离。
2.5 类别特征处理(Categorical Feature Processing)
将类别特征转换为数值特征:
独热编码(One-Hot Encoding):将类别特征转化为二进制向量。
标签编码(Label Encoding):将类别特征转化为整数。
目标编码(Target Encoding):根据目标变量的均值对类别特征进行编码。
2.6 缺失值处理(Handling Missing Values)
处理缺失数据以提高数据质量:
填补缺失值:使用均值、中位数、众数、插值法等方法填补缺失数据。
删除缺失值:删除包含缺失值的记录或特征(适用于缺失值比例较小的情况)。
2.7 异常值处理(Handling Outliers)
识别和处理异常值:
截断异常值:将异常值限制在一定范围内。
变换数据:使用对数变换或其他数学变换减少异常值的影响。
检测方法:使用统计方法(如Z-score、IQR)或模型方法(如孤立森林)检测异常值。
2.8 数据合成(Data Synthesis)
创建额外的数据以增强训练集:
数据增强(Data Augmentation):在图像数据中通过旋转、缩放、翻转等操作增强数据集。
合成少数类样本:使用SMOTE(Synthetic Minority Over-sampling Technique)等方法生成新的少数类样本以平衡类别分布。
2.9 领域特定特征工程(Domain-Specific Feature Engineering)
根据特定领域知识设计特征:
金融领域:创建“交易频率”、“账户余额波动”等特征。
医疗领域:从医疗记录中提取“病史”、“体征指标”等特征。
电商领域:提取“用户购物习惯”、“产品评分”等特征。
特征工程方案的选择和实施应根据数据类型、问题需求和模型要求来决定。特征工程是一个迭代的过程,需要不断实验和调整,以生成最能提升模型性能的特征。通过有效的特征工程,可以显著提高模型的预测能力和泛化性能。