Type something to search...
提升数据工程效率:使用generative Ai进行数据生成与增强的5个关键步骤

提升数据工程效率:使用generative Ai进行数据生成与增强的5个关键步骤

在本模块中

我们将探讨生成式人工智能和大型语言模型 (LLMs) 如何协助数据生成和增强。这是生成式人工智能最具影响力的用例之一,使我们能够从头创建合成数据或高效增强现有数据集。

作为数据工程师,我们通常需要生成或扩展数据集,原因包括:

  1. 测试数据管道
  2. 避免暴露生产数据
  3. 处理边缘情况
  4. 修复不平衡的数据集

本文将逐步讲解这些应用。

生成合成数据

合成数据对于许多数据工程工作流至关重要。常见的用例包括:

  • 测试数据管道: 在开发数据管道时,我们通常需要模拟真实数据的示例数据。
  • 避免个人可识别信息暴露: 使用真实的生产数据可能会引入隐私风险,特别是涉及个人可识别信息(PII)。合成数据消除了这一风险。
  • 传统方法: 通常,合成数据是使用基本算法生成的,这些算法分配随机值(例如,姓名、年龄、交易金额)。
  • 生成式人工智能优势: 与传统的随机数据生成不同,大型语言模型(LLMs)可以生成更真实且具有上下文意识的合成数据,从而提高测试场景的准确性。

所需的设置和资源

在开始代码之前,请确保您已经:

  1. Jupyter Notebook — 我们将主要使用 Jupyter Notebook 进行开发。
  2. 安装了 Python — 确保您已安装 Python。
  3. 安装了所需的库:
    • pip install openai pandas scikit-learn
  4. API 密钥配置 — 确保您的 API 密钥在笔记本中正确设置,以避免执行问题。

使用 GPT-4 Mini 进行合成数据生成

借助生成式人工智能,我们可以通过简单地提示大型语言模型快速生成合成数据。例如,如果我们需要电商平台的客户数据,可以使用以下提示:

import openai
import pandas as pd
import json
import numpy as np
from pprint import pprint

openai.api_key ='your-api-key-here'

def clean(dict_variable):
    return next(iter(dict_variable.values()))

prompt = "Generate synthetic sales data for an e-commerce platform. Include fields for date, customer_id (Customer ###), order total (in $USD). For certain orders, the order total should be negative. Create data for 10 customers. Output in JSON form."

response = openai.ChatCompletion.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}],
    response_format={"type": "json_object"}
)

customer_data = json.loads(response.choices[0].message.content)
print(json.dumps(customer_data, indent=2))
{
  "sales_data": [
    {
      "date": "2023-01-01",
      "customer_id": "Customer 1",
      "order_total": 150.75
    },
    {
      "date": "2023-01-02",
      "customer_id": "Customer 2",
      "order_total": 200.0
    },
    {
      "date": "2023-01-02",
      "customer_id": "Customer 3",
      "order_total": -50.0
    },
    {
      "date": "2023-01-03",
      "customer_id": "Customer 4",
      "order_total": 120.5
    },
    .............
    }
  ]
}

这种方法使数据工程师能够生成合成数据集,而无需等待数据团队提供真实数据,从而轻松测试数据管道并快速迭代。

df_customers = pd.DataFrame(clean(customer_data))
print(df_customers)
datecustomer_idorder_total
2023-01-01Customer 1150.75
2023-01-02Customer 2200.00
2023-01-02Customer 3-50.00
2023-01-03Customer 4120.50
2023-01-03Customer 590.25
2023-01-04Customer 1-30.00
2023-01-04Customer 2300.45
2023-01-05Customer 6460.00
2023-01-06Customer 7175.00
2023-01-06Customer 8-20.00
2023-01-07Customer 9220.55

Jupyter Notebook 结果

生成领域特定数据

生成式人工智能也可以用来创建领域特定的合成数据。例如,如果我们想生成遵循特定格式的合成销售数据,我们可以指定:

prompt = "Generate synthetic sales data for an e-commerce platform. Include fields: date, customer ID (formatted as 'CUST###'), order total (USD). Generate data for ten customers. Return as JSON."

这确保生成的数据遵循与业务规则一致的模式,从而节省开发时间。

引入偏见和边缘情况

合成数据生成还允许我们测试模型对偏见的处理。我们可以明确引入偏见,以评估我们的数据管道如何管理它们。例如:

prompt = "Generate sales data where some order totals are negative to represent returns. Include fields: date, customer ID, order total. Generate data for ten orders. Return as JSON."

通过创建受控的边缘情况,我们确保我们的数据处理管道能够有效地检测和处理异常。

生成特定位置的数据

我们还可以生成特定于某个地区的数据。例如,为一个专注于澳大利亚城市的平台生成城市数据:

prompt = "Generate synthetic city planning data. Include fields: city name, population. Only include cities from America. Generate data for ten cities. Return as JSON."

这使得生成式人工智能成为本地化数据生成的优秀工具,确保合成数据集与预期的现实世界应用相一致。

成本和效率考虑

虽然使用大型语言模型生成数据会产生成本,但相对来说是比较便宜的。例如,生成 1,000 条产品评论的费用可能不到 $0.50,未来模型的优化将进一步降低成本。与手动编写合成数据的算法相比,使用大型语言模型显著更高效和灵活。

运行上述提示几乎只花了我 0.01$。

结论

使用生成式人工智能生成合成数据可以节省时间,提高灵活性,并为测试和开发提供上下文感知的结构化数据集。无论是生成客户数据、销售数据还是特定城市的信息,大型语言模型都可以创建符合数据工程工作流程确切需求的高质量合成数据集。

凭借这些能力,数据工程师可以简化数据准备,专注于构建稳健的数据管道,并在不依赖真实数据集的情况下加快开发进程。

感谢阅读!

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...