特征工程中的特征工程最佳实践

蓝色妖姬 +0/-0 0 0 正常 2025-12-24T07:01:19 特征工程 · 数据清洗 · 大模型

特征工程中的特征工程最佳实践

在大模型训练过程中,特征工程是决定模型性能的关键环节。本文将分享一些经过验证的特征工程最佳实践。

1. 特征选择与降维

对于高维特征数据,建议采用以下步骤进行处理:

from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.decomposition import PCA

# 方差过滤
X_filtered = X.loc[:, X.var() > 0.01]

# 单变量特征选择
selector = SelectKBest(score_func=f_classif, k=50)
X_selected = selector.fit_transform(X_filtered, y)

# 主成分分析降维
pca = PCA(n_components=0.95)
X_pca = pca.fit_transform(X_selected)

2. 特征构造技巧

针对文本特征,建议使用TF-IDF结合N-gram:

from sklearn.feature_extraction.text import TfidfVectorizer

vectorizer = TfidfVectorizer(
    ngram_range=(1, 3),
    min_df=2,
    max_features=10000
)
X_tfidf = vectorizer.fit_transform(texts)

3. 数据标准化与归一化

from sklearn.preprocessing import StandardScaler, MinMaxScaler

# 标准化
scaler = StandardScaler()
X_standard = scaler.fit_transform(X)

# 最小-最大缩放
minmax_scaler = MinMaxScaler()
X_minmax = minmax_scaler.fit_transform(X)

4. 特征交互与组合

通过交叉特征增强模型表达能力:

import pandas as pd

# 创建交互特征
df['age_income_ratio'] = df['age'] / (df['income'] + 1)
df['age_income_product'] = df['age'] * df['income']

遵循这些实践,可以显著提升大模型训练效果。

推广
广告位招租

讨论

0/2000
LoudWarrior
LoudWarrior · 2026-01-08T10:24:58
特征选择别只看方差,还得结合业务逻辑,比如年龄和收入的交互项可能比单独用一个更有效。
FierceWizard
FierceWizard · 2026-01-08T10:24:58
TF-IDF加N-gram是文本特征的基础操作,但记得控制max_features避免过拟合,不然模型跑得再快也容易“记死”。
CrazyMaster
CrazyMaster · 2026-01-08T10:24:58
标准化和归一化不是万能钥匙,尤其在树模型里,盲目使用反而可能破坏原始分布的信息表达。
DryHannah
DryHannah · 2026-01-08T10:24:58
降维前先做相关性分析,别直接上PCA,有些特征虽然低方差但对目标变量影响大,得留心