news 2026/9/20 14:05:33

Evidently 数据质量检测完整指南:三步快速找出缺失值、重复值与异常值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

上周模型的准确率突然掉了,你的第一反应大概率是去重训模型。但真实原因可能更简单:上游数据少了一列,或者某批新数据的取值偏出了正常范围。这类情况下,数据质量检测应该排在调模型之前。Evidently 是一个面向 ML 与 LLM 系统的开源评估与监控框架,内置 100+ 指标,能把你“怀疑数据有问题”这件事,变成一份可复现、可分享的数据质量报告。

下面以“拿到一份 CSV,要确认它能不能进模型”为场景,带你走一遍排查流程。不需要背 API,按顺序做就行。

一、缺失值检测:先定位哪里没数据、有多少

这一节解决“哪些列有空洞、严重程度如何”。

列级排查:缺失个数和占比一次看清

MissingValueCount(column="age")会同时给你两个数:该列缺失值的个数,以及占整列的比例。比例才是关键——3% 的缺失是常规补值问题,40% 的缺失得先问上游为什么没写数。

全表扫描:不指定列也能查

DatasetMissingValueCount把多列的缺失值汇总成一个总数和总占比,适合第一遍摸底。同模块里还有EmptyRowsCountEmptyColumnsCount:前者抓整行全空的记录,后者抓整列全空的字段——后者往往直接指向某个数据源断了。

这些指标的实现分别在 src/evidently/metrics/column_statistics.py 和 src/evidently/metrics/dataset_statistics.py,想弄清某个数字怎么算出来的,直接看这两个文件。

二、重复值排查:把冗余行和冗余列都找出来

这一节解决“数据是不是重了”。重复本身不会让模型崩,但会让样本权重失真,评估结果也跟着骗人。

重复行:DuplicatedRowCount 给出个数

DuplicatedRowCount统计整表中完全相同的行有多少条。它的默认测试条件是“应当等于 0”,所以报告里这条指标亮红灯,就说明存在重复行,需要回查写入环节是否重放了。

重复列与“伪重复”列:四个数字一起看

  • DuplicatedColumnsCount:两列取值完全一样的情况;
  • AlmostDuplicatedColumnsCount:两列取值几乎一样、只差一点点的情况;
  • ConstantColumnsCount/AlmostConstantColumnsCount:整列(或 95% 以上)取值恒定的列。

前两个多半是字段设计问题,后两个多半是采集问题。报告里这几个数字并排展示,基本能一眼判断问题出在哪一环。

三、异常值识别:用统计量和取值范围锁定可疑数

这一节解决“哪些数值不可信”。

先看边界:最小值、最大值、均值、标准差

MinValueMaxValueMeanValueStdValue都接受一个column参数,并且每个指标都会附带一张分布图。最大值是均值的几百倍时,不用猜,问题就在图上。

均值和中位数打架时,异常值大概率在

MeanValueMedianValue放在同一列上看。分布正常时两者接近;一旦少数极端值把均值拉走,中位数基本不动。两个数差距越大,越说明该列有异常值,值得单独拉出来看原始记录。

用范围直接数出界值:最快的一种做法

OutRangeValueCount(column="age", left=0, right=120)会直接告诉你:有多少行落在 [0, 120] 之外、占比多少。分类列则用OutListValueCount,把“不在白名单里的取值”数出来,专门抓地区码、枚举值突然冒出新类别这类问题。

四、生成数据质量报告:一份 HTML,自带通过与否的判定

这一节产出最终交付物:一份谁打开都看得懂的 HTML 报告。

整个流程就三步:声明指标、跑数据、导出文件。

pip install evidently
import pandas as pd from evidently import Report from evidently.metrics import ( MissingValueCount, DuplicatedRowCount, DuplicatedColumnsCount, OutRangeValueCount, MeanValue, MedianValue, ) df = pd.read_csv("your_data.csv") report = Report([ MissingValueCount(column="age"), DuplicatedRowCount(), DuplicatedColumnsCount(), OutRangeValueCount(column="age", left=0, right=120), MeanValue(column="age"), MedianValue(column="age"), ]) snapshot = report.run(df) snapshot.save_html("data_quality_report.html")

报告不只是罗列数字。多数指标自带默认测试:重复行数应为 0、缺失值个数应为 0 之类。如果给report.run传第二个参数作为参考数据(比如上一批表现健康的数据),它会自动把当前批次和参考批次做对比,偏差超阈值就标红。想改规则也不用写新类,在指标上加tests参数即可,比如约定“这列缺失率不得高于 1%”。

五、延伸:把一次性排查变成持续监控

这一节回答“下次数据更新之后怎么办”。

报告是可复现的:把 CSV 换成新一天的分区再跑一遍,就得到同一组指标的新快照。定时跑、把快照存下来,数字就变成了趋势线——缺失率是不是在爬升、重复行是不是某一批突然冒出来的,趋势线上一目了然。📈

如果团队已经在用 Grafana,Evidently 的指标结果也可以推送到仪表板里做持续展示,监控形态大致如下:

排查到这里,数据质量检测就从上线前的一次性检查,变成了 ML 模型监控里的日常环节:下次输入数据开始漂移时,你会先于模型效果恶化看到它。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 14:04:23

2026前端AI编程工具对比测评:React与Vue场景选型指南

1. 前端开发选AI编程工具,2026年这份对比测评报告帮你做决策前端圈子这两年最明显的变化,不是又出了什么新框架,而是写代码的方式正在被AI编程工具重新塑造。我身边不少做React和Vue的朋友,从最初把AI当“高级自动补全”&#xff…

作者头像 李华
网站建设 2026/9/20 14:01:36

Hugging Face:Qwen3 开源权重接到 TaoToken 供自建服务调用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 14:01:34

在线考试切屏检测原理与合规备考指南:从浏览器开发者工具到事件监听

我没法按照给定标题去写一篇“绕过切屏检测”的教程,因为这类内容本质上是在教学生作弊,既不安全也不符合诚信底线。帮人应付考试、规避监考系统,可能会让读者面临成绩取消、记过甚至更严重的后果,这跟“分享知识”完全是两回事。…

作者头像 李华
网站建设 2026/9/20 14:01:31

CC Switch 切到 TaoToken:Claude Code 改用 GLM 5.3 Flash 的结果

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 13:58:10

看懂超高清显示质量报告:亮度曲线、色准与均匀性核心指标解析

简介:《超高清显示质量分析报告(2020版)》是由国家级检测机构发布的行业质量分析文档,基于对19家企业、123款超高清显示产品的检测数据,系统分析了显示技术演进与市场现状。资源为单个PDF文件,压缩包仅2.37…

作者头像 李华