从零搭建数据清洗流水线的工程实践分享
在大模型训练过程中,数据质量直接决定了模型性能。本文将分享一个完整的数据清洗流水线搭建过程,涵盖从原始数据到高质量训练集的全流程。
核心步骤
- 数据接入与初步检查
import pandas as pd
import numpy as np
df = pd.read_csv('raw_data.csv')
print(df.info())
print(df.describe())
- 缺失值处理
# 删除缺失值过多的列
threshold = 0.5
df = df.dropna(thresh=len(df)*threshold, axis=1)
# 填充数值型缺失值
numeric_columns = df.select_dtypes(include=[np.number]).columns
for col in numeric_columns:
df[col].fillna(df[col].median(), inplace=True)
- 异常值检测与处理
from scipy import stats
z_scores = np.abs(stats.zscore(df[numeric_columns]))
outliers = np.where(z_scores > 3)
# 可选择删除或替换异常值
- 文本清洗
import re
def clean_text(text):
text = re.sub(r'[^\w\s]', '', text)
text = re.sub(r'\s+', ' ', text).strip()
return text
- 数据标准化与保存
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df_scaled = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)
df_scaled.to_csv('cleaned_data.csv', index=False)
通过以上步骤,可以构建一个可复现的数据清洗流水线,为后续模型训练提供高质量数据基础。

讨论