机器学习模型数据质量评估监控
核心监控指标体系
输入数据完整性监控:
- 检测缺失值率,阈值设置为>5%触发告警
- 监控异常值比例,使用IQR方法识别,>3%触发告警
输入数据分布稳定性:
- 使用KS检验监控特征分布变化,p-value<0.05时告警
- 计算KL散度,阈值设置为>0.1触发预警
实施方案
import pandas as pd
from scipy import stats
import numpy as np
class DataQualityMonitor:
def __init__(self, threshold_missing=0.05, threshold_ks=0.05):
self.threshold_missing = threshold_missing
self.threshold_ks = threshold_ks
def check_missing_rate(self, df):
missing_rate = df.isnull().sum() / len(df)
return missing_rate[missing_rate > self.threshold_missing]
def check_distribution_stability(self, reference_df, current_df):
ks_stats = []
for col in reference_df.columns:
if reference_df[col].dtype in ['int64', 'float64']:
ks_stat, p_value = stats.ks_2samp(reference_df[col], current_df[col])
ks_stats.append((col, ks_stat, p_value))
return [stat for stat in ks_stats if stat[2] < self.threshold_ks]
告警配置
- 高优先级:缺失值率>5%,发送Slack通知并触发暂停模型推理
- 中优先级:KS检验p-value<0.05,邮件通知数据工程师
- 低优先级:KL散度>0.1,记录到监控系统供后续分析

讨论