在大模型训练过程中,数据清洗的质量直接影响着最终模型性能。今天想分享一个在数据清洗中容易被忽视但极其重要的环节——日志记录。
问题背景
最近在处理一个文本分类数据集时,发现清洗后的数据分布与原始数据存在显著差异。通过仔细排查,发现问题出在数据清洗过程中的某些步骤缺乏有效追踪机制。
日志记录方法
建议在数据清洗每个关键步骤都添加详细日志记录,包括:
import logging
import pandas as pd
# 配置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('data_cleaning.log'),
logging.StreamHandler()
]
)
# 示例:数据清洗函数
def clean_text_data(df):
original_count = len(df)
logging.info(f"开始清洗,原始数据量: {original_count}")
# 步骤1: 去除空值
df_cleaned = df.dropna(subset=['text'])
removed_count = original_count - len(df_cleaned)
logging.info(f"去除空值,移除记录数: {removed_count}")
# 步骤2: 去除重复值
df_cleaned = df_cleaned.drop_duplicates(subset=['text'])
removed_count = len(df_cleaned) - len(df_cleaned)
logging.info(f"去除重复值,移除记录数: {removed_count}")
# 步骤3: 文本清理
df_cleaned['cleaned_text'] = df_cleaned['text'].str.strip().str.lower()
logging.info("文本标准化完成")
return df_cleaned
关键要点
- 记录每步操作前后数据量变化
- 标注具体清洗规则和阈值
- 保存异常数据样本供后续分析
- 设置不同日志级别(INFO/DEBUG/WARNING)区分处理过程
这样不仅便于问题排查,还能为特征工程提供重要的数据质量报告。
建议在团队协作中建立统一的日志规范,确保数据清洗过程可追溯、可复现。

讨论