Evidently 数据质量检测实操:缺失、重复、异常一次查清
2026/9/20 12:24:34 网站建设 项目流程

Evidently 数据质量检测实操:缺失、重复、异常一次查清

【免费下载链接】evidentlyEvidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen AI. 100+ metrics.项目地址: https://gitcode.com/GitHub_Trending/ev/evidently

模型上线一周后准确率突然下滑,排查半天才发现某特征列混进一批空值和重复订单。这类问题在均值、总行数这些汇总指标上完全看不出来,只能靠逐列的数据质量检测抓出来。这正是 Evidently 数据质量检测要解决的场景。

Evidently 是什么、为什么选它做 ML 数据监控

Evidently 是一个开源 Python 框架,用于评估、测试和监控 ML 与 LLM 系统。选它的理由:

  • 开源,pip install evidently即可使用,报告可导出为 HTML、JSON;
  • 覆盖验证到生产监控全链路:离线报告、测试套件、监控看板;
  • 同一套框架支持 LLM 评估,数据和模型指标可以放一起盯。

三步跑通数据质量检测

安装 Evidently 与最小依赖

pip install evidently

数据源就是一份 pandas DataFrame,无需额外依赖。

写一份最小检测配置

最小可运行配置,缺失值检测、重复值筛查、异常值统计一次覆盖:

import pandas as pd from evidently import Report from evidently.metrics import ( MissingValueCount, DuplicatedRowCount, MinValue, MaxValue, MeanValue, StdValue, ) report = Report([ MissingValueCount(column="user_age"), DuplicatedRowCount(), MinValue(column="user_age"), MaxValue(column="user_age"), MeanValue(column="user_age"), StdValue(column="user_age"), ], include_tests=True)

这些指标都在src/evidently/metrics/dataset_statistics.pysrc/evidently/metrics/column_statistics.py中实现。

生成并打开报告

snapshot = report.run(current_data=df) snapshot.save_html("report.html")

run返回 Snapshot,save_html导出后用浏览器打开即可。带include_tests=True时,每个指标附默认测试,未通过项会在报告里标红。

报告里的三类指标怎么读

缺失值:看什么、什么阈值算异常

MissingValueCount给两个数:count(缺失数)和 share(占比)。默认测试是缺失数为 0 才通过;提供reference_data后,会对比缺失占比相对参考数据的差异是否超过 10%。实操阈值:关键特征列 share > 1% 就该排查上游,某列接近 100% 缺失通常是字段映射错了,而不是数据量问题。

重复值:行级 vs 列级,各自危险在哪

DuplicatedRowCount看整条记录被重复写入,危险点在订单、日志这类事件流:重复会直接扭曲指标和训练样本权重。DuplicatedColumnsCount看列级重复:两列数值完全一致,多数是特征冗余而非数据错误,先想到降维,而不是急着修数据。

异常值:用 min / max / mean / std 做初步判断

不依赖复杂算法,先看四个统计量:max 远大于 mean 说明有极端高值点;min 为负或出现不可能取值就是脏数据;std 相对参考数据明显变大,说明整列离散度变了。要进一步量化,换OutRangeValueCount(column="user_age", left=0, right=150)直接统计超出业务合法区间的值数。

用 Grafana 看板持续盯数据

单次报告只是快照,持续盯才叫 ML 数据监控。做法是把 report 按天定时跑、导出快照,再交给 Grafana 渲染成时间序列。仓库自带现成示例:examples/grafana/下有数据漂移和 LLM 评估两套看板,含 docker-compose,可以直接参考部署。

几个容易踩的坑

  • 🔎 先统一列的编码和类型再统计缺失:上游传 "N/A"、"0" 占位,按 NaN 统计会漏掉。
  • 📐 重复列先怀疑特征冗余,不是数据错误;列间相关性高不等于列重复,可用相关矩阵区分。
  • 📊 报告里基于统计检验的 p-value 别只看大小:大样本下微小差异也显著,要结合业务量级判断。
  • ⚙️ 很多默认测试在给了reference_data后阈值更严,对比结果前先确认参考数据的口径和日期范围。

Evidently 数据质量检测这套流程:配几个指标、跑一次报告、盯住失败项,值得放进日常迭代和上线前检查。指标清单与部署方式见 Evidently 官方文档和仓库主页。

【免费下载链接】evidentlyEvidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen AI. 100+ metrics.项目地址: https://gitcode.com/GitHub_Trending/ev/evidently

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询