模型训练数据预处理流程
在大模型训练中,数据预处理是决定模型性能的关键环节。本文将分享一套标准化的数据预处理流程,帮助数据科学家高效完成数据清洗与特征工程。
1. 数据质量评估
首先对原始数据进行整体评估:
import pandas as pd
import numpy as np
df = pd.read_csv('raw_data.csv')
# 检查缺失值
missing_values = df.isnull().sum()
# 检查重复值
duplicate_count = df.duplicated().sum()
# 数据类型检查
print(df.dtypes)
2. 缺失值处理
根据缺失比例采用不同策略:
- 缺失率<5%:删除该行
- 缺失率5%-30%:使用均值/中位数填充
- 缺失率>30%:考虑删除该特征
# 删除缺失值过多的行
threshold = 0.3
df_cleaned = df.dropna(thresh=len(df.columns) * (1 - threshold))
# 数值型特征用中位数填充
numeric_cols = df.select_dtypes(include=[np.number]).columns
for col in numeric_cols:
df[col].fillna(df[col].median(), inplace=True)
3. 异常值检测
使用IQR方法识别异常值:
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
# 筛选正常值
df_filtered = df[~((df < lower_bound) | (df > upper_bound)).any(axis=1)]
4. 特征工程
- 文本数据:分词、去除停用词、词干提取
- 分类变量:独热编码或标签编码
- 数值变量:标准化/归一化处理
这套流程可有效提升模型训练效率和最终性能,建议根据具体业务场景灵活调整。

讨论