在大模型训练中,数据集质量直接决定了模型性能。本文将分享一套完整的数据集质量控制流程。
1. 数据完整性检查 首先检查缺失值情况:
import pandas as pd
import numpy as np
df = pd.read_csv('dataset.csv')
# 检查每列缺失值比例
missing_ratio = df.isnull().sum() / len(df)
print(missing_ratio[missing_ratio > 0])
# 删除缺失值过多的行
threshold = 0.5
df_cleaned = df.dropna(thresh=len(df.columns) * (1 - threshold))
2. 数据一致性验证 检查数据类型和范围是否合理:
# 检查数值型字段范围
numeric_columns = ['age', 'income']
for col in numeric_columns:
print(f'{col} min: {df[col].min()}, max: {df[col].max()}')
# 异常值处理
Q1 = df[col].quantile(0.25)
Q3 = df[col].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
df = df[(df[col] >= lower_bound) & (df[col] <= upper_bound)]
3. 数据去重与重复检测
# 检测并删除重复行
print(f'原始数据量: {len(df)}')
df_dedup = df.drop_duplicates()
print(f'去重后数据量: {len(df_dedup)}')
# 检查特征组合重复
duplicate_features = ['user_id', 'timestamp']
df_duplicates = df[df.duplicated(subset=duplicate_features, keep=False)]
通过以上步骤,可以有效提升数据质量,为大模型训练奠定坚实基础。

讨论