GEn
收藏github2026-05-02 更新2026-05-04 收录
下载链接:
https://github.com/allubie/GEn
下载链接
链接失效反馈官方服务:
资源简介:
该项目提供了一个基于Python的模块化合成数据集生成器,专为Jupyter Notebook环境设计。它具有一个用户友好的GUI,允许用户跨多个域选择数据字段,并生成一个逻辑一致的关系数据集,可导出为CSV文件。
This project provides a Python-based modular synthetic dataset generator specifically designed for the Jupyter Notebook environment. It features a user-friendly GUI that allows users to select data fields across multiple domains, and generate a logically consistent relational dataset that can be exported as CSV files.
创建时间:
2026-05-02
原始信息汇总
数据集概述:GEn - 合成数据集生成器
GEn 是一个基于 Python 的模块化合成数据集生成工具,专为 Jupyter Notebook 环境设计。它通过 ipywidgets 提供交互式图形界面,允许用户从多个领域选择数据字段,并生成具有逻辑一致性的关系数据集,支持导出为 CSV 文件。
核心特性
- 交互式 GUI:在 Jupyter Notebook 内通过复选框、滑块和按钮配置数据集。
- 关系完整性:后续字段引用同行的先前生成值,确保逻辑真实性(如:发货日期始终晚于订单日期)。
- 多数据域支持:覆盖人口统计、健康指标、地理、产品、商业和 IT/系统数据。
- 即时导出:自动生成带时间戳的 CSV 文件。
- 预览集成:在 Notebook 输出中直接显示生成的数据框样本。
使用要求
- 依赖库:pandas、numpy、Faker、ipywidgets、IPython
- 安装方式: bash pip install -r requirements.txt
使用步骤
- 打开一个 Jupyter Notebook。
- 将生成器类和 UI 代码复制到单个单元格中。
- 运行单元格,显示交互式控件。
- 展开类别,选择所需数据字段。
- 调整“行数”滑块(10 到 10,000 行)。
- 点击“Generate & Export”生成数据,保存为 CSV 文件并显示预览。
数据域与字段
| 数据域 | 字段 |
|---|---|
| 人口统计 | 客户ID、姓名、年龄、性别、教育水平、职业、邮箱、注册日期 |
| 健康指标 | 身高(cm)、体重(kg)、BMI、血型、心率(bpm) |
| 地理 | 国家、城市、州、邮政编码、纬度、经度、时区 |
| 产品 | SKU、产品名称、类别、型号、尺寸、颜色、评分、评论数 |
| 商业 | 价格、数量、折扣(%)、总额、订单状态、订单日期、发货日期、承运商、支付方式 |
| IT/系统数据 | IP地址、MAC地址、用户代理、操作系统、UUID |
黄金规则(关系逻辑)
- 时间完整性:注册日期早于订单日期;发货日期基于订单状态(如已取消的订单无发货日期)。
- 身份关联:邮箱源自生成的姓名。
- 财务准确性:总额由价格、数量和折扣严格计算。
- 生物一致性:BMI 由身高和体重计算;健康指标随年龄和 BMI 调整。
- 产品约束:产品型号、尺寸和名称绑定到所选类别。
- 地理特性:支付方式根据地区偏好调整。
可扩展性
代码采用基于类的方法(UniversalGenerator)。用户可通过更新 __init__ 方法中的 self.domains 字典并添加对应的 _generate_row 生成逻辑,轻松添加自定义数据域。
搜集汇总
数据集介绍

构建方式
GEn是一个基于Python的合成数据集生成器,专为Jupyter Notebook环境设计。其核心构建逻辑通过模块化类UniversalGenerator实现,将数据域定义在self.domains字典中,并在_generate_row方法中逐行生成记录。生成器利用Faker库模拟初始字段,结合NumPy和Pandas进行数值计算与数据整合。用户通过ipywidgets构建的交互式GUI选择所需字段类别(如人口统计、健康指标、地理信息等),并调整行数滑块(10至10,000行)。系统在生成过程中强制执行一系列关系规则——例如,日期字段遵循时间因果顺序(注册日期早于订单日期,取消订单无发货日期),总价由单价、数量和折扣严格计算,BMI由身高体重推导,电子邮箱基于姓名生成。最终,代码将合成数据导出为带时间戳的CSV文件,并在笔记本中预览前五行。
特点
该数据集最显著的特点是其内在的关系一致性与逻辑真实性。不同于简单的随机生成数据,GEn严格维护时间完整性(注册日期先于订单日期,发货日期随订单状态动态调整)、身份关联性(邮箱由姓名衍生)、财务准确性(总价为价格、数量与折扣的确定函数)以及生物学一致性(BMI与身高体重严格计算,健康指标随年龄和BMI变化)。此外,地理因素影响支付方式偏好,产品模型与尺寸绑定所属类别,形成多维关联网络。生成器覆盖六大领域(人口统计、健康、地理、产品、商业、IT系统),每个字段具备语义意义。用户可自由组合字段,通过滑块控制规模,交互式GUI消除了编码门槛,使非技术用户也能快速生成定制化、逻辑自洽的合成数据集。
使用方法
使用GEn生成数据集需在Jupyter Notebook环境中操作。首先,确保安装pandas、numpy、Faker、ipywidgets及IPython等依赖库,可通过pip install -r requirements.txt完成。接着,将生成器类与UI代码复制至单个单元格并运行,界面将呈现分类展开复选框、行数滑块(10至10,000)及生成按钮。用户在扩展的类别中勾选所需字段(如从人口统计域选择客户ID、年龄,从商业域选择价格、订单状态),调整行数后点击“Generate & Export”。系统即时计算关系数据,保存为CSV文件至当前工作目录,并输出DataFrame样本预览。高级用户可通过修改self.domains字典添加自定义领域,或在_generate_row方法扩展生成逻辑,适应更复杂的场景需求。
背景与挑战
背景概述
在数据驱动的研究与工业应用中,高质量合成数据集对于隐私保护、算法测试及系统开发至关重要。GEn合成数据集生成器于2023年左右由研究者allubie开发,旨在解决真实数据获取中的隐私合规性与稀缺性问题。其核心研究问题在于如何通过模块化与关系逻辑生成具有内在一致性的多领域合成数据。该工具支持人口统计学、健康指标、地理信息等六大领域,并强制实施时间完整性、身份关联与财务准确性等规则,从而提升数据的真实可用性。GEn对数据增强、模型鲁棒性验证及教学演示领域产生了显著影响,为缺乏敏感数据的场景提供了高效、可控的替代方案。
当前挑战
领域挑战方面,GEn需在无真实数据泄露前提下,模拟复杂现实关系(如订单状态与发货时间的逻辑依赖、健康指标随年龄的生物学变异),这对生成规则的精细度与领域知识编码提出高要求。构建挑战包括:实现用户友好型交互界面(基于Jupyter Notebook的ipywidgets)与后台复杂逻辑的无缝整合;在1万行规模下维持跨字段一致性(如总价由单价、数量与折扣动态计算需避免浮点误差);扩展性设计需平衡模块通用性与特定领域约束(如产品类别对型号、尺寸的绑定),同时确保生成效率与内存管理。
常用场景
经典使用场景
GEn数据集生成器在合成数据领域独树一帜,其经典使用场景聚焦于为数据科学教学、算法原型验证与隐私受限环境下的数据稀缺问题提供解决方案。研究人员常借助该工具,通过交互式界面从人口统计学、健康指标、地理信息、产品目录、商业交易及IT系统等多个领域灵活选取字段,生成具有逻辑一致性的关系型数据。其内置的时序完整性约束与身份关联机制,使得生成的数据不仅具备真实世界的复杂关联,还能模拟如订单日期与发货日期的先后顺序、邮箱地址与姓名的绑定等细腻规则,从而为后续的机器学习模型训练、数据可视化演示或数据库压力测试提供高度拟真的数据基底。
衍生相关工作
GEn的问世催生了一系列衍生工作与研究范式,尤其在数据增强与隐私保护技术的交叉领域引发关注。受其模块化设计与逻辑约束引擎启发,后续工作探索了将生成器与差分隐私框架相结合,以产出兼顾实用性与隐私硬约束的合成数据。此外,研究者基于其分层域架构,开发了面向自然语言处理与多模态数据的扩展版本,例如为文本分类任务注入时序关联的客户评论生成模块。在工具层面,GEn的Jupyter Notebook原生交互模式激发了轻量级GUI组件库的涌现,使得非编程背景的领域专家也能自主定制数据集,从而推动了数据科学民主化进程。
数据集最近研究
最新研究方向
在数据驱动的研究范式下,合成数据生成器正成为解决真实数据隐私壁垒与稀缺性问题的关键工具。GEn项目聚焦于构建模块化、交互式的合成数据集生成方案,其前沿方向在于通过内置的关联逻辑(如时间顺序约束、身份与邮箱衍生关系、财务精确计算)显著提升数据的真实性与领域连贯性。该工具与近期数据隐私法规趋严、机器学习对大规模标注数据需求激增的热点紧密呼应,尤其适用于在受控环境中模拟人口统计、商业交易与健康指标等多域联动场景。其意义在于为数据科学家提供一种低成本、可定制且兼顾伦理合规的数据增强手段,从而推动合成数据在模型预训练、算法验证与隐私保护研究中的实际应用。
以上内容由遇见数据集搜集并总结生成



