特征工程数据处理流程:从原始数据到模型输入的必经之路
在大模型训练中,特征工程是决定模型性能的关键环节。本文将详细介绍从原始数据到最终特征输入的完整处理流程。
数据预处理阶段
首先进行数据清洗和格式标准化:
import pandas as pd
import numpy as np
df = pd.read_csv('raw_data.csv')
# 处理缺失值
df = df.fillna(df.mean()) # 数值型变量用均值填充
# 处理异常值
Q1 = df['numeric_col'].quantile(0.25)
Q3 = df['numeric_col'].quantile(0.75)
df = df[(df['numeric_col'] >= Q1) & (df['numeric_col'] <= Q3)]
特征构造与选择
根据业务逻辑构造新特征:
# 创建交互特征
df['feature_interaction'] = df['feature1'] * df['feature2']
# 创建多项式特征
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2, include_bias=False)
features_poly = poly.fit_transform(df[['feature1', 'feature2']])
特征编码与标准化
对于分类变量进行编码:
# One-Hot编码
df_encoded = pd.get_dummies(df, columns=['category_col'], prefix='cat')
# 标准化数值特征
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df[['numeric_col1', 'numeric_col2']])
数据集划分与验证
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
df_features, df_target, test_size=0.2, random_state=42
)
整个流程确保了数据质量,为后续大模型训练提供了可靠的基础特征。
关键步骤总结:预处理→特征构造→编码标准化→数据划分

讨论