特征工程中的数据清洗自动化
在大模型训练过程中,数据质量直接影响模型性能。特征工程作为数据处理的关键环节,其数据清洗自动化能显著提升工作效率。
核心问题
数据清洗通常涉及缺失值处理、异常值检测、重复数据去除等步骤,这些操作往往需要大量人工干预。
自动化解决方案
1. 缺失值自动处理
import pandas as pd
import numpy as np
def auto_handle_missing(df):
# 统计缺失比例
missing_ratio = df.isnull().sum() / len(df)
# 分类处理
for col in df.columns:
if missing_ratio[col] > 0.5:
df.drop(columns=[col], inplace=True) # 删除高缺失率列
elif missing_ratio[col] > 0:
if df[col].dtype in ['int64', 'float64']:
df[col].fillna(df[col].median(), inplace=True) # 数值型用中位数
else:
df[col].fillna(df[col].mode()[0], inplace=True) # 分类型用众数
return df
2. 异常值检测
from scipy import stats
def detect_outliers(df, threshold=3):
outliers = []
for col in df.select_dtypes(include=[np.number]).columns:
z_scores = np.abs(stats.zscore(df[col]))
outliers.extend(df[z_scores > threshold].index)
return list(set(outliers))
3. 完整流程
# 使用示例
raw_data = pd.read_csv('dataset.csv')
# 自动化清洗
cleaned_data = auto_handle_missing(raw_data)
outlier_indices = detect_outliers(cleaned_data)
cleaned_data = cleaned_data.drop(outlier_indices)
print(f"清洗后数据形状: {cleaned_data.shape}")
实施建议
- 建立数据质量监控指标
- 保留清洗日志便于回溯
- 结合业务逻辑定制清洗策略
这种自动化方法能有效减少重复劳动,同时保持数据质量可控。

讨论