你的AI模型“智商”忽高忽低?问题可能出在“数据投喂”不精

2025-11-26 17:44:20
文章摘要
在大数据时代,数据质量管理是成功的关键,而AI为数据清洗提供了强有力的支持。通过DataLens这样的智能工具,数据科学家和领域专家可以更加高效地进行数据清洗,确保数据质量,为后续的分析和机器学习任务奠定坚实的基础。

在人工智能圈子里,有一条铁律:“垃圾进,垃圾出”。不管你的算法模型有多先进,如果喂给它的是充满错误、缺失和不一致的“脏数据”,它吐出来的结果只能是灾难。


据高德纳(Gartner)的研究显示,糟糕的数据质量每年平均给企业造成1290万美元的损失。对于数据科学家来说,最痛苦的莫过于每天得花80%的时间在枯燥的数据清洗上,只有20%的时间用来做真正的模型分析。


那么,有没有一种工具,能像“自动洗碗机”一样,既能自动识别污渍,又能根据盘子的类型选择最合适的清洗方式,甚至还能听懂你的指挥?


最近,一篇发表在arXiv上的硬核论文介绍了一款名为DataLens的神器。这不仅仅是一个工具,更像是一个面向机器学习的交互式数据质量管家。今天,我们就来扒一扒这个AI界的“洗刷刷”大神是如何工作的。


论文地址:https://arxiv.org/html/2501.17074v1


第一招:全自动“体检”,一眼看穿数据毛病

当我们拿到一份全新的CSV文件或连上数据库时,第一反应往往是懵圈的:这一堆数字代表什么?哪里有错?

DataLens的第一大绝技就是自动化数据探查(Automated Data Profiling)。只要你把数据传上去,它就像给数据做了一次全身体检,瞬间生成一份详细的“体检报告”。

它会自动分析每一列数据的分布、频率、缺失情况,甚至还能自动找出数据间的逻辑关系(比如它能发现“邮政编码”和“城市”之间存在某种依赖规则)。


DataLens架构


第二招:人机协同,你动动手指,AI学会“找茬”

传统的清洗工具要么太笨(只能按死规则删),要么太复杂(需要写一堆代码)。DataLens引入了“人机协同模块”(Human-in-the-Loop),让不懂代码的领域专家也能教AI干活。

这个过程非常像是在带徒弟:你不需要检查几万行数据,系统会聪明地挑出几个“可疑分子”样本推到你面前,问你:“这行是脏数据吗?”而你只需回答“是”或“否”,或者手动标记几个你也看不顺眼的错误值(比如把年龄-1改成0)。

DataLens内部集成的机器学习工具(如RAHA)会根据你的反馈,迅速学会你的判断标准,然后自动把剩下的几万行数据里的同类错误全部揪出来。


第三招:优胜劣汰,自动匹配最强“清洗剂”

这是DataLens最黑科技的地方——迭代式清洗(Iterative Cleaning)。

以前洗数据,用平均值填充还是用中位数填充?是用隔离森林算法去噪还是用规则过滤?全靠数据科学家“拍脑袋”猜。

DataLens的逻辑是:谁能让最终的AI模型考分高,谁就是好工具。它把“选择清洗工具”变成了一道数学题(超参数调优问题),会在后台自动尝试各种清洗工具的组合(比如:先用SD算法去异常,再用机器学习填补缺失值)。

然后,它会用清洗后的数据跑一遍模型,看效果如何。经过几轮自动迭代,它会告诉你:“老板,对于这批数据,用‘RAHA检测+决策树修复’的组合,你的模型准确率最高!”



DataLens主窗口


第四招:保留“犯罪现场”,随时可回滚

数据洗坏了怎么办?以前可能需要重头再来。

DataLens为了保证可复现性(Reproducibility),做了两手准备:

生成“出生证明”(DataSheets): 每次清洗完,系统都会自动生成一个JSON格式的详细报告,记录了你用了什么工具、设置了什么参数、修了多少个错误。这就像购物小票一样,清清楚楚。

版本控制时光机: 集成了Delta Lake技术。你的原始数据、第1版清洗数据、第2版修复数据都会被完整保存。你可以随时像操作“时光机”一样,回滚到之前的任何一个数据版本,再也不怕手滑误删。


DataLens的出现,打破了“数据清洗必须是苦力活”的刻板印象。它通过REST API的模块化设计,把统计学方法、规则驱动方法和最前沿的机器学习方法整合在一起。

不仅让你“洗”得轻松(交互式操作),更让你“洗”得科学(以模型效果为导向)。

在这个AI大爆发的时代,算力不再是瓶颈,数据质量才是决胜的关键。DataLens告诉我们:与其在模型调参上死磕,不如先用AI把你的数据洗得干干净净!





🎯DataLens入门指南

创建工作簿

在 DataLens 中,所有对象都存储在特殊的容器中,例如工作簿和集合

  1. 工作簿存储连接数据集图表仪表板
  2. 集合是用于对工作簿和其他集合进行分组容器。

创建工作簿:

  1. 前往 DataLens 页面。
  2. 在右上角,点击“创建”“创建工作簿”
  3. 请输入工作簿的名称:Quick start
  4. 点击“创建”


创建连接

连接包含有关数据源访问参数的信息,例如数据库主机 IP 地址和端口。您可以基于连接创建数据集。

步骤:

  1. 在工作簿的右上角,单击“创建”“连接”
  2. 选择ClickHouse®连接。
  3. 在打开的窗口中,指定连接参数:
  4. 主机名:rc1a-ckg8nrosr2lim5iz.mdb.yandexcloud.net.
  5. HTTP接口端口:(8443默认)。
  6. 用户名:samples_ro.
  7. 密码:MsgfcjEhJk
  8. 启用“允许在数据集和图表查询中使用子查询”功能。
  9. 点击“检查连接”,确保出现绿色对勾。
  10. 请输入连接名称:Sample ClickHouse
  11. 点击“创建”
  12. 等待连接保存完成。



创建数据集

数据描述了一组数据及其结构。它是通过连接到数据源创建的。创建以下组件时会用到数据集:

  1. 图表:用于可视化数据。
  2. 选择器:用于筛选数据。

基于示例 ClickHouse连接创建数据集:

  1. 在连接页面的右上角,单击“创建数据集”
  2. MS_SalesMiniTable表格拖到工作区。
  3. 切换“字段”选项卡。
  4. 创建订单金额指标:在 “聚合” 列中,为 Sales 字段选择 “求和”。
  5. 创建订单数量的度量值:

将字段OrderID重命名为OrderCount:单击字段名称,删除当前名称,然后输入新名称。

在 “聚合” 列中,为 OrderCount 字段选择 “唯一计数”。

6.修改 ShopAddressCoord 字段的数据类型:在 “类型” 列中选择 “地理点”。

7.保存数据集:

在右上角,点击“保存”

输入Sales Dataset数据集名称,然后单击“创建”



创建柱状图

图表以表格、图表或地图的形式将数据集中的数据可视化。

基于Sales Dataset创建柱状图的步骤

1.点击数据集页面右上角的“创建图表” 。

2.向图表添加产品子类别:将 “维度” 中的 ProductSubcategory 字段拖动到 X 轴区域。

3.向图表添加销售指标:将 “指标” 中的 Sales 字段拖动到 Y 轴区域。

4.按销售额降序排序图表:将 “指标” 中的 Sales 字段拖动到 “排序” 区域。

5.保存图表:

在右上角,点击“保存”

在打开的窗口中,输入Sales by subcategory图表的名称,然后单击“保存”



绘制面积图

1.复制上一步创建的图表:在右上角,点击→另存为副本

2.在打开的窗口中,输入Sales by week新图表的名称,然后单击“保存”

3.选择可视化类型作为面积图

4.将 X 轴上的产品子类别替换为订单日期:将 “维度” 中的 OrderDate 字段拖动到 X 轴区域,并将其悬停在 ProductSubcategory 字段上,直到该字段变为红色(表示替换)。

5.向图表添加产品类别:将 “维度” 中的 ProductCategory 字段拖动到 “颜色” 区域。

6.显示按周统计的图表:

  1. 点击 X 轴区域中 OrderDate 字段旁边的日历图标。
  2. 在 “分组” 字段中,选择 “取整”→“周”。
  3. 点击 “应用”。

7.移除按销售额排序:将鼠标悬停在 “排序” 区域的 Sales 字段上,点击显示的删除图标。

8.在右上角,点击 “保存”。




创建饼图

  1. 复制上一步创建的图表:在右上角,点击→“另存为副本”。
  2. 在打开的窗口中,输入新图表名称 Sales by category,然后点击 “保存”。
  3. 选择可视化类型为 “饼图”。
  4. 向图表添加产品类别:将 “维度” 中的 ProductCategory 字段拖动到 “颜色” 区域。
  5. 确认图表包含销售指标:Sales 字段应位于 “指标” 区域;若未显示,从 “指标” 下方拖动该字段添加。
  6. 添加指标标签:
  7. 将 “指标” 中的 Sales 字段拖动到 “标签” 区域。
  8. 点击指标名称左侧的图标。
  9. 在打开的窗口中,“标签值” 选择 “百分比”,然后点击 “应用”。
  10. 在右上角,点击 “保存”。


创建仪表板并添加图表

仪表板是包含组件的单个或多个页面,可将图表分组放置在同一位置,并添加说明文字和标题。

  1. 点击图表路径中的工作簿名称,进入Quick start工作簿。
  2. 在右上角,点击 “创建”→“仪表板”。
  3. 在页面底部的面板中,按住 “图表” 并将其拖动到所需区域。
  4. 在打开的窗口中,点击 “选择”。
  5. 选择 Sales by subcategory 图表。
  6. 点击 “添加”。
  7. 重复步骤 3-6,添加 Sales by weekSales by subcategory 图表。
  8. 用鼠标调整图表大小,并按偏好排列在仪表板上。



设置图表筛选

在仪表板中添加按图表筛选功能,以便筛选其他图表:Sales by subcategory

  1. 点击图表右上角Sales by subcategory
  2. 启用筛选选项。
  3. 点击保存

默认情况下,用于筛选的图表会筛选当前仪表板选项卡上共享同一数据集的所有图表中的数据。



向仪表板添加选择器

选择器是影响关联组件中查询结果的筛选器。

向仪表板添加选择器的步骤:

  1. 在页面底部的面板中,按住 “选择器” 并将其拖动到所需区域。
  2. 添加订单日期的日历选择器:
  3. 选择 Sales Dataset
  4. 选择 OrderDate 字段。
  5. 在 “标题” 字段中,输入 Order date
  6. 启用 “范围” 功能。
  7. 点击 “保存”。
  8. 按偏好调整选择器在仪表板上的位置。
  9. 保存仪表板:
  10. 在仪表板的右上角,点击 “保存”。
  11. 输入仪表板名称 Sales,然后点击 “创建”。



了解仪表板的工作原理

应用图表间交叉筛选

1.在Sales by subcategory 图表中,单击包含该值的列Kitchen appliances。这将按所选维度筛选链接的图表。

2.再次点击所选项目或图表右上角的清除图标,可清除图表筛选。

3.使用 Order date 选择器

Order date 选择器中,输入日期范围:2019年1月1日 - 2019年1月31日

系统将筛选当前标签页中所有使用相同数据集的图表中 OrderDate 字段对应的数据。

4.点击选择器右上角的清除图标,可清除选择器筛选。

声明:该内容由作者自行发布,观点内容仅供参考,不代表平台立场;如有侵权,请联系平台删除。