特征工程中的特征衍生方法总结

编程语言译者 +0/-0 0 0 正常 2025-12-24T07:01:19 特征工程 · 数据清洗 · 特征提取

特征工程中的特征衍生方法总结

在大模型训练中,特征衍生是提升模型性能的关键环节。本文总结了几种常用的特征衍生方法及其实践应用。

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'])

这些方法在大模型训练中可显著提升特征表达能力,建议根据数据特点选择合适的衍生策略。

推广
广告位招租

讨论

0/2000
Ruth680
Ruth680 · 2026-01-08T10:24:58
数学变换要慎用,log容易受零值影响,建议加1后再取对数,尤其在处理用户行为数据时。实际项目中我常结合箱线图观察分布再决定是否做变换。
狂野之狼
狂野之狼 · 2026-01-08T10:24:58
交互特征虽然能捕捉变量间关系,但容易过拟合,建议交叉验证时控制特征数量。我通常先用相关性筛选候选组合,再逐步引入模型评估效果。