用于生成综合数据的 5 个有用的 Python 脚本

在您信任图书馆生成数据之前,请先了解如何自己生成数据,并了解偏差和错误实际上是从哪里开始的。

来源:KDnuggets

简介

合成数据,顾名思义,是人为创建的,而不是从现实世界的来源收集的。它看起来像真实的数据,但避免了隐私问题和高昂的数据收集成本。这使您可以轻松地测试软件和模型,同时运行实验以模拟发布后的性能。

虽然存在 Faker、SDV 和 SynthCity 等库,甚至大型语言模型 (LLM) 也被广泛用于生成合成数据,但我在本文中的重点是避免依赖这些外部库或 AI 工具。相反,您将学习如何通过编写自己的 Python 脚本来实现相同的结果。这可以更好地理解如何塑造数据集以及如何引入偏差或错误。我们将从简单的玩具脚本开始,以了解可用的选项。一旦掌握了这些基础知识,您就可以轻松过渡到专业库。

1. 生成简单的随机数据

最简单的起点是表格。例如,如果您需要用于内部演示的虚假客户数据集,您可以运行脚本来生成逗号分隔值 (CSV) 数据:

输出:

该脚本很简单:定义字段、选择范围并写入行。 random 模块支持整数生成、浮点值、随机选择和采样。 csv 模块旨在读取和写入基于行的表格数据。此类数据集适合:

  • 前端演示
  • 仪表板测试
  • API 开发
  • 学习结构化查询语言 (SQL)
  • 单元测试输入管道
  • 然而,这种方法有一个主要弱点:一切都是完全随机的。这通常会导致数据看起来平坦或不自然。企业客户可能只花费 2 美元,而“免费”用户可能花费 400 美元。老年用户的行为与年轻用户完全一样,因为没有底层结构。

  • 企业客户几乎不应该零支出
  • 支出范围应取决于所选计划
  • 年长用户的平均支出可能略高