特征工程中的特征衍生方法总结
在大模型训练中,特征衍生是提升模型性能的关键环节。本文总结了几种常用的特征衍生方法及其实践应用。
1. 数学变换衍生
通过数学函数对原始特征进行变换,如对数、平方根、指数等:
import numpy as np
import pandas as pd
df['log_feature'] = np.log(df['original_feature'] + 1)
df['sqrt_feature'] = np.sqrt(df['original_feature'])
2. 分箱与离散化
将连续变量分组为离散区间:
# 等宽分箱
pd.cut(df['continuous_feature'], bins=5, labels=False)
# 等频分箱
pd.qcut(df['continuous_feature'], q=5, labels=False)
3. 交互特征构造
组合多个特征生成新特征:
# 乘积交互
df['interaction'] = df['feature1'] * df['feature2']
# 比值交互
df['ratio'] = df['feature1'] / (df['feature2'] + 1e-8)
4. 时间序列衍生
针对时间相关特征,提取滞后、移动平均等统计量:
# 滞后特征
df['lag_1'] = df['value'].shift(1)
# 移动平均
df['ma_7'] = df['value'].rolling(window=7).mean()
5. 嵌入式特征衍生
使用预训练模型或嵌入层生成向量特征:
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(max_features=1000)
embedded_features = vectorizer.fit_transform(df['text_column'])
这些方法在大模型训练中可显著提升特征表达能力,建议根据数据特点选择合适的衍生策略。

讨论