Chevron Left

查看所有社区故事

解决脏数据困境的三种方法

2023年6月05日

贡献者

Kyle Napierkowski

Kaleidoscope Data

photo of Kyle Napierkowski

Kyle 是 Kaleidoscope Data 的管理合伙人,Kaleidoscope Data 是一家数据咨询公司,也是 Metabase 专家,致力于帮助拥有 50-150 名员工的初创公司和中小型企业提升业务规模。了解更多关于他们的 AI 产品标准化工具如何帮助提高您的数据质量。

在数据驱动的世界中,企业需要准确和干净的数据才能做出明智的决策。干净的数据对于可靠的洞察力、高效的运营以及最终的成功至关重要。

脏数据仍然是许多企业面临的重大挑战,因为它可能导致不准确的分析和错误的决策。在本文中,我们将探讨三种数据清理方法,以便您可以充分利用您的数据。

在 Metabase 中使用模型

在 Metabase 中实施数据清理程序的一种最佳方法是开发一个模型,该模型根据特定标准表示数据。模型是 Metabase 中的基本构建块。它们可以与派生表或专门保存的问题进行比较,作为新分析的起点。模型可以基于 SQL 或查询构建器问题构建,从而可以包含自定义和计算列。

Metabase 中模型的优势

  • 用户友好: 需要最少的技术专业知识。直接在分析平台中快速轻松地清理数据。
  • 赋能您的专家: 模型使领域专家能够控制业务问题的定义和改进,使他们能够在无需通过数据团队的情况下进行更改。这种灵活性确保了不同的团队可以拥有自己的模型。

Metabase 中模型的缺点

  • 规模/复杂性有限: 可能不适用于复杂的数据清理场景或大规模数据处理。

示例

让我们考虑一个在线商店的销售交易样本数据集。原始数据可能如下所示

A sample of uncleaned dataset

在此数据集中,有几个问题需要解决。要解决这些问题,您可以在 Metabase 中实施模式或函数

  1. 产品名称不一致: 使用 regexextract 通过删除品牌名称并仅保留产品型号来标准化产品名称。示例模式: REGEXEXTRACT([Product], '^(?:Apple|Nike|Dell|Adidas) (.*)$')

  2. 付款方式信息缺失: 实施一个函数,该函数检查付款方式值是否缺失,并将其替换为默认值或占位符。示例 函数COALESCE([PaymentMethod], 'Not Provided')

清理后的数据集应如下所示

The cleaned dataset

在您的转换管道中清理数据

您可以通过为数据转换管道创建 SQL 查询来确保清理后的数据存储并可随时用于分析。这可以帮助减少后期对额外数据操作的需求。

数据转换管道为数据清理提供了强大且可扩展的解决方案,尤其是在处理大型复杂数据集或多个来源时。但是,您必须考虑有效实施和维护此方法所需的技术专业知识。

在数据转换管道中实施数据清理通常需要数据工程师和分析师之间的协作。分析师可以与业务利益相关者合作,收集需求并定义规则。数据工程师可以设计和设置管道,并编写清理和结构化数据所需的转换。这些规则可以包括过滤掉不相关的数据、标准化格式、处理缺失值以及合并来自多个来源的数据。

转换管道的优势

  • 更智能: 可以处理复杂的数据清理场景,并随着数据的增长而有效扩展。
  • 节省时间: 通过自动化数据清理过程,您可以减少错误并节省原本用于手动数据清理的时间。
  • 解决根本原因: 实际修复源数据的潜在问题,而不是应用权宜之计。

转换管道的缺点

  • 成本和复杂性增加: 需要技术专业知识,并且可能比使用模式或函数更消耗资源。可能会导致成本和复杂性增加,尤其是在资源有限的小型组织中。
  • 更多开销: 可能很耗时,并且可能需要随着业务需求的变化而进行持续维护。

转换管道示例

这是一个客户订单的样本数据集。

A sample of uncleaned dataset

在此示例中,有几个问题需要清理

  1. CustomerName 字段中的格式不一致(例如,下划线代替空格)

  2. CustomerName 字段中缺少数据(NULL 值)

  3. 第 5 行的 Email 字段中分隔符不正确(逗号代替句点)

  4. 第 5 行的 PurchaseDate 字段中日期格式不一致

您可以使用 SQL 来清理数据。以下是如何执行此操作的示例

-- Create a temporary table with cleaned data
CREATE TEMPORARY TABLE cleaned_orders AS
SELECT
  OrderID,
  -- Replace underscores with spaces and handle NULL values in the CustomerName field
  COALESCE(NULLIF(REPLACE(CustomerName, '_', ' '), ''), 'Unknown') AS CleanedCustomerName,
  -- Replace comma with period in the Email field
  REPLACE(Email, ',', '.') AS CleanedEmail,
  ProductID,
  -- Standardize the date format in the PurchaseDate field
  STR_TO_DATE(PurchaseDate, '%Y-%m-%d') AS CleanedPurchaseDate
FROM
  raw_orders;

清理后的数据集将如下所示

The cleaned dataset

使用 AI 清理数据

AI 正在改变我们处理数据清理的方式。先进的算法和机器学习技术,特别是像 OpenAI 的 ChatGPT 模型这样的大型语言模型,可以自动化数据清理过程。

使用 AI 的优势

  • 自动化: AI 服务可以自动识别和纠正数据中的错误、不一致和异常。这种自动化不仅节省了时间,而且还降低了数据清理过程中人为错误的风险。

  • 规模: AI 服务旨在快速有效地处理大型数据集。这意味着即使您的业务增长并生成更多数据,AI 驱动的数据清理解决方案也可以扩展以满足您的需求,而不会影响准确性或速度。

  • 随着时间的推移不断改进: AI 服务最令人印象深刻的方面之一是它们随着时间的推移学习和改进的能力。随着 AI 系统处理更多数据,它在识别模式和做出智能决策方面变得更好,最终导致更准确和高效的数据清理。

  • 领域专业知识: 如果您的组织可以访问领域专家,他们的见解对于创建量身定制的数据清理规则或指导 AI 驱动解决方案的实施可能非常宝贵。

使用 AI 的缺点

  • 初始投资: 实施 AI 数据清理服务可能需要对技术和资源进行初始投资。但是,改进数据质量和减少人工的长期收益可能超过这些成本。

  • 人工监督/验证: 虽然 AI 服务可以自动化大部分数据清理过程,但仍然需要一定程度的人工监督和验证。拥有一支了解您的数据细微差别并在需要时做出明智决策的团队至关重要。

使用 AI 的示例

AI 可以执行的更复杂的数据清理示例是识别和解决跨多个数据源的服装产品属性中的不一致之处。这通常涉及理解不同属性(如颜色、尺寸和款式)之间的上下文、语义和关系。

样本数据集

A sample of uncleaned dataset

在此样本数据集中,来自三个不同数据来源的产品属性不一致,需要为在线服装店进行标准化。由于属性的术语、顺序和结构各不相同,传统的清理方法可能难以有效识别和解决这些不一致之处。

但是,AI 驱动的解决方案可以分析不同属性之间的上下文、语义和关系,并将它们映射到标准化的属性集。例如,AI 可以识别出“Women’s Dress, Blue, Size M”、“Female, Dress, M, Blu”和“Dress, Medium, Woman, Color: Blue”都指的是相同的产品属性,并将它们映射到单一的标准化格式,例如“性别:女,类别:连衣裙,颜色:蓝色,尺寸:中号”。

清理后的数据集将如下所示

The cleaned dataset

现在我们可以将产品属性拆分为单独的列,以便更轻松地进行分析。

The cleaned dataset

您应该采取哪种方法?

最适合您业务的数据清理方法取决于多种因素,例如数据类型和质量、数据集大小和复杂性、可用资源以及特定的业务目标。在选择一种方法并将其集成到您的技术堆栈之前,测试和评估不同的清理方法至关重要。通常,公司会混合使用上述方法。检查数据源是否与您首选的方法兼容,并确保您拥有必要的资源来有效地执行所选的解决方案。

贡献者

Kyle Napierkowski

Kaleidoscope Data

photo of Kyle Napierkowski

Kyle 是 Kaleidoscope Data 的管理合伙人,Kaleidoscope Data 是一家数据咨询公司,也是 Metabase 专家,致力于帮助拥有 50-150 名员工的初创公司和中小型企业提升业务规模。了解更多关于他们的 AI 产品标准化工具如何帮助提高您的数据质量。

您可能还喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据交付可信赖的指标

Frédéric Vion

Subclic

数据驱动的产品管理

Victor Bolu

WebAutomation

您可能还喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据交付可信赖的指标

Frédéric Vion

Subclic

数据驱动的产品管理

Victor Bolu

WebAutomation