沃卡惠移动端logo

沃卡惠  行业资讯

资讯详情

为什么数据清理会让您的ML模型失败

2022-12-26 09:07:494636
不幸的是,无论我们多么努力地清理,糟糕的数据质量往往太普遍,太具有侵略性,以至于无法快速淋浴。
为什么数据清理会让您的ML模型失败——以及该怎么做

我们对150多家组织的数据堆栈进行的研究显示,在一个环境中,每1,000个表平均每年会发生70起有影响的数据事件。这些事件侵入探索性数据分析;他们侵入模型训练和验证;并在部署后入侵模型的推理数据,产生漂移。

模型的准确性不会随着笔记本中的数据清理而开始或结束,您只需使用几个表来通知、训练和验证您的模型。它从ETL管道和您选择度量什么来解决问题的那一刻开始。

让我们看一个半假设的场景,其中包含我们在野外看到的真实例子,以强调一些常见的故障点。然后,我们将讨论如何通过组织对高质量数据的承诺来避免这些问题。

想象一下

你是一名数据科学家,大摇大摆地研究预测模型,以优化一家快速发展的公司的数字营销支出。在勤奋的数据探索之后,您将一些数据集导入到您的Python笔记本中。

探索性数据分析

因为您的公司热衷于仪表板,而且数据工程团队比以往任何时候都更容易通过管道传输数据来满足临时请求,所以这一发现极具挑战性。数据仓库一片混乱,缺乏语义。

没有清除数据谱系,您浪费时间合并和清理数据,而没有注意到下游的表已经合并了更多的数据源。这几乎和你注意到你差点遗漏了一个关键数据集时一样刺痛,但是你安慰自己即使是最伟大的人不时地犯那些错误.

模型设计

您看到LinkedIn广告点击数据有0.1%为空,因此您将该值估算到特征列的中值。这在你的笔记本中是整洁的,但是在模型部署之后,LinkedIn和营销自动化平台之间的集成没有被重新授权。生产数据集中的空值现已跃升至90%,导致这种插补更加频繁,并且基于更小、更不准确的样本。

你的模型还使用了由一位前同事建立的另一个用于广告支出优化的机器学习模型推断的数据。不幸的是,在离开公司之前,他们在数千个临时桌子上建立了这个模型。它坏了,自动驾驶,让公司损失了几百万,但你不知道。

模型训练和验证

您小心地分离出维持集,以避免污染,并确保用于验证模型的数据不会与定型数据重叠。您不知道的是,训练数据包含一个聚集访问者网站数据的表,其中的列一个月没有更新。

原来,营销运营团队升级到Google Analytics 4是为了赶在2023年7月的最后期限之前,这改变了数据模式。这导致自动化ETL管道旋转出一个全新的表,打破了聚集表的依赖性。因此,您的训练集不包含上个月的数据,这些数据包括由于不断变化的宏观经济环境而导致的浏览行为和购买模式的统计显著变化。

模型部署

您的模型已经部署好了,并且默默承受着重大的偏差。脸书改变了他们发送数据的方式,从每24小时改为每12小时。您团队的ETL被设置为每天只获取一次数据,因此这意味着突然有一半正在发送的活动数据没有被处理或传递到下游,从而使他们的新用户指标偏离“付费”而趋向“有机”

模型评论

所有这些问题意味着你的预测模型对数字广告的表现没有影响。你现在已经失去了营销团队和高管的信任。毕竟,他们一开始就持怀疑态度。当他们在每周报告中看到错误,仪表板每月崩溃两次时,他们怎么能相信一个预测黑匣子呢?

证明你的团队增加人员和投资的合理性现在变得更加困难了,尽管模型的失败不是你的错。

这个故事里有什么听起来耳熟的吗?虽然这个特定的故事可能是虚构的,但像您刚刚读到的故事在现代数据团队中太常见了。那么,怎样才能避免这样的结果呢?让我们看看对数据质量的承诺如何帮助我们的数据科学家获得更好的结果。

现代数据堆栈的数据清理

数据科学家不能也不应该负责持续清理数据仓库中的每个表。然而,我们确实需要与我们的数据工程同事合作,创建一个适合数据科学的环境。

就像厨师了解她的原料供应链一样,我们也应该了解我们数据的供应链。每个组织都有不同的数据源组合,并且每个组织运行管道的方式都略有不同。

有些将所有数据都放入一个中央数据仓库或数据湖中,而有些则为原始数据和准备好的数据运行单独的环境,中间有一层分析工程师。大多数可能更擅长清除遗留数据集。

数据的目的地及其组织很重要,因为它会影响您的探索性数据分析。然而,数据的旅程很重要,因为每条路径都会给模型带来不同的风险。

除了在数据集层面用传统的数据质量的6个维度(准确性、完整性、一致性、及时性、有效性和唯一性),是时候开始围绕数据新鲜度、数量、模式和分布异常在管道级别进行思考了。

您可以通过构建自己的异常检测器(这是一个由三部分组成的系列,展示了如何做到这一点)或利用商业数据可观察性解决方案

监控管道接收的数据量中的异常可确保您的模型始终接收高精度预测结果所需的最小数量的样本。

Gartner 2022年数据管理宣传周期

商业解决方案的优势在于,无需不断更新和调整您的自定义监控阈值,您可以在添加数据资产的那一刻就依赖于覆盖所有数据资产的基线,同时还能够在必要时添加自定义监控规则。

监控您的所有生产管道和表不仅会使您的工作更容易,还会使您的模型更准确。

例如,通过监视数据中值的分布,您可以快速查看数据集的这些范围,而不必手动进行多次探索和分析来回答历史唯一百分比等问题。正如我们在脸书的例子中看到的那样,这些监视器还可以提醒您每个数据类别的比例发生了突然变化。

监控管道接收的数据量中的异常可确保您的模型始终接收高精度预测结果所需的最小数量的样本。

数据可观察性解决方案还包括数据沿袭和轻量级编目功能,通过展现对象之间的关系和识别相关事件,在发现和探索性数据分析过程中提供帮助。

有了干净的数据环境,您可以将重点放在创建推动业务价值的精确、可信的ML模型上。

我们对150多家组织的数据堆栈进行的研究显示,在一个环境中,每1,000个表平均每年会发生70起有影响的数据事件。这些事件侵入探索性数据分析;他们侵入模型训练和验证;并在部署后入侵模型的推理数据,产生漂移。

模型的准确性不会随着笔记本中的数据清理而开始或结束,您只需使用几个表来通知、训练和验证您的模型。它从ETL管道和您选择度量什么来解决问题的那一刻开始。

让我们看一个半假设的场景,其中包含我们在野外看到的真实例子,以强调一些常见的故障点。然后,我们将讨论如何通过组织对高质量数据的承诺来避免这些问题。

想象一下

你是一名数据科学家,大摇大摆地研究预测模型,以优化一家快速发展的公司的数字营销支出。在勤奋的数据探索之后,您将一些数据集导入到您的Python笔记本中。

探索性数据分析

因为您的公司热衷于仪表板,而且数据工程团队比以往任何时候都更容易通过管道传输数据来满足临时请求,所以这一发现极具挑战性。数据仓库一片混乱,缺乏语义。

没有清除数据谱系,您浪费时间合并和清理数据,而没有注意到下游的表已经合并了更多的数据源。这几乎和你注意到你差点遗漏了一个关键数据集时一样刺痛,但是你安慰自己即使是最伟大的人不时地犯那些错误.

模型设计

您看到LinkedIn广告点击数据有0.1%为空,因此您将该值估算到特征列的中值。这在你的笔记本中是整洁的,但是在模型部署之后,LinkedIn和营销自动化平台之间的集成没有被重新授权。生产数据集中的空值现已跃升至90%,导致这种插补更加频繁,并且基于更小、更不准确的样本。

你的模型还使用了由一位前同事建立的另一个用于广告支出优化的机器学习模型推断的数据。不幸的是,在离开公司之前,他们在数千个临时桌子上建立了这个模型。它坏了,自动驾驶,让公司损失了几百万,但你不知道。

模型训练和验证

您小心地分离出维持集,以避免污染,并确保用于验证模型的数据不会与定型数据重叠。您不知道的是,训练数据包含一个聚集访问者网站数据的表,其中的列一个月没有更新。

原来,营销运营团队升级到Google Analytics 4是为了赶在2023年7月的最后期限之前,这改变了数据模式。这导致自动化ETL管道旋转出一个全新的表,打破了聚集表的依赖性。因此,您的训练集不包含上个月的数据,这些数据包括由于不断变化的宏观经济环境而导致的浏览行为和购买模式的统计显著变化。

模型部署

您的模型已经部署好了,并且默默承受着重大的偏差。脸书改变了他们发送数据的方式,从每24小时改为每12小时。您团队的ETL被设置为每天只获取一次数据,因此这意味着突然有一半正在发送的活动数据没有被处理或传递到下游,从而使他们的新用户指标偏离“付费”而趋向“有机”

因为您的模型不断地训练新数据,这种类的转移降低了您的模型的性能,因为它开始过度适应有机用户获取。由于这发生在数据清理和模型构建之后,您没有意识到这种需要纠正的不平衡

模型评论

所有这些问题意味着你的预测模型对数字广告的表现没有影响。你现在已经失去了营销团队和高管的信任。毕竟,他们一开始就持怀疑态度。当他们在每周报告中看到错误,仪表板每月崩溃两次时,他们怎么能相信一个预测黑匣子呢?

证明你的团队增加人员和投资的合理性现在变得更加困难了,尽管模型的失败不是你的错。

这个故事里有什么听起来耳熟的吗?虽然这个特定的故事可能是虚构的,但像您刚刚读到的故事在现代数据团队中太常见了。那么,怎样才能避免这样的结果呢?让我们看看对数据质量的承诺如何帮助我们的数据科学家获得更好的结果。

现代数据堆栈的数据清理

数据科学家不能也不应该负责持续清理数据仓库中的每个表。然而,我们确实需要与我们的数据工程同事合作,创建一个适合数据科学的环境。

就像厨师了解她的原料供应链一样,我们也应该了解我们数据的供应链。每个组织都有不同的数据源组合,并且每个组织运行管道的方式都略有不同。

有些将所有数据都放入一个中央数据仓库或数据湖中,而有些则为原始数据和准备好的数据运行单独的环境,中间有一层分析工程师。大多数可能更擅长清除遗留数据集。

数据的目的地及其组织很重要,因为它会影响您的探索性数据分析。然而,数据的旅程很重要,因为每条路径都会给模型带来不同的风险。

除了在数据集层面用传统的数据质量的6个维度(准确性、完整性、一致性、及时性、有效性和唯一性),是时候开始围绕数据新鲜度、数量、模式和分布异常在管道级别进行思考了。

您可以通过构建自己的异常检测器(这是一个由三部分组成的系列,展示了如何做到这一点)或利用商业数据可观察性解决方案。

监控管道接收的数据量中的异常可确保您的模型始终接收高精度预测结果所需的最小数量的样本。

Gartner 2022年数据管理宣传周期

商业解决方案的优势在于,无需不断更新和调整您的自定义监控阈值,您可以在添加数据资产的那一刻就依赖于覆盖所有数据资产的基线,同时还能够在必要时添加自定义监控规则。

监控您的所有生产管道和表不仅会使您的工作更容易,还会使您的模型更准确。

例如,通过监视数据中值的分布,您可以快速查看数据集的这些范围,而不必手动进行多次探索和分析来回答历史唯一百分比等问题。正如我们在脸书的例子中看到的那样,这些监视器还可以提醒您每个数据类别的比例发生了突然变化。

监控管道接收的数据量中的异常可确保您的模型始终接收高精度预测结果所需的最小数量的样本。

数据可观察性解决方案还包括数据沿袭和轻量级编目功能,通过展现对象之间的关系和识别相关事件,在发现和探索性数据分析过程中提供帮助。

数据可观察性平台中的数据沿袭显示了表依赖关系。

有了干净的数据环境,您可以将重点放在创建推动业务价值的精确、可信的ML模型上。