机器学习模型训练数据质量异常检测机制
核心监控指标体系
数据分布偏移检测:通过Kolmogorov-Smirnov检验监控特征分布变化,当p-value<0.05时触发告警。
import numpy as np
from scipy import stats
def detect_distribution_shift(train_data, current_data, threshold=0.05):
ks_stat, p_value = stats.ks_2samp(train_data, current_data)
return p_value < threshold
缺失值率监控:设置阈值为5%,当单个特征缺失率超过该阈值时告警。
import pandas as pd
def check_missing_rate(df, threshold=0.05):
missing_rates = df.isnull().sum() / len(df)
return missing_rates[missing_rates > threshold]
异常值检测:使用IQR方法识别异常值,当异常值比例超过3%时触发告警。
告警配置方案
-
分级告警机制:
- 严重级别:分布偏移(p<0.01) → 立即停止训练
- 警告级别:缺失率>5%或异常值率>3% → 发送邮件通知
-
监控面板配置:在Grafana中创建以下指标面板:
- 数据分布稳定性趋势图
- 特征缺失率变化图
- 异常值比例监控图
-
自动化响应:当检测到严重异常时,自动触发流水线暂停,并通知相关数据工程师进行数据清洗。

讨论