特征工程中数据预处理标准化流程
在大模型训练过程中,特征工程是决定模型性能的关键环节。本文将详细介绍数据预处理的标准化流程,帮助数据科学家构建高质量的特征集。
1. 数据清洗与缺失值处理
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler, LabelEncoder
df = pd.read_csv('dataset.csv')
# 检查缺失值
print(df.isnull().sum())
# 删除缺失值过多的列
df = df.dropna(thresh=len(df)*0.8, axis=1)
# 数值型变量用中位数填充
numeric_cols = df.select_dtypes(include=[np.number]).columns
for col in numeric_cols:
df[col].fillna(df[col].median(), inplace=True)
2. 异常值检测与处理
# 使用IQR方法识别异常值
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
df = df[~((df < (Q1 - 1.5 * IQR)) | (df > (Q3 + 1.5 * IQR))).any(axis=1)]
3. 特征标准化与归一化
# 标准化处理
scaler = StandardScaler()
numeric_features = df.select_dtypes(include=[np.number]).columns
df[numeric_features] = scaler.fit_transform(df[numeric_features])
4. 分类变量编码
# 对分类变量进行标签编码
categorical_cols = df.select_dtypes(include=['object']).columns
for col in categorical_cols:
le = LabelEncoder()
df[col] = le.fit_transform(df[col].astype(str))
该标准化流程可有效提升模型训练效率与预测性能,是大模型数据工程的核心实践。

讨论