跳转到主要内容

使用条件GAN创建表格合成数据

项目描述


此仓库是 The Synthetic Data Vault Project 的一部分,该项目来自 DataCebo

Development Status PyPI Shield Unit Tests Downloads Coverage Status

概述

CTGAN 是一个基于深度学习的单表数据合成数据生成器集合,能够从真实数据中学习并生成高保真度的合成数据。

重要链接
:computer: 网站 访问 SDV 网站,了解更多关于我们整体合成数据生态系统的信息。
:orange_book: 博客 深入了解开源、合成数据创建和评估。
:book: 文档 快速入门、用户和开发指南,以及 API 参考。
:octocat: 仓库 此库的 Github 仓库链接。
:keyboard: 开发状态 此软件处于预_alpha 阶段。
社区 加入我们的 Slack 工作空间以获取公告和讨论。

目前,此库实现了在 2019 年 NeurIPS 会议上的论文 Modeling Tabular data using Conditional GAN 中描述的 CTGANTVAE 模型。

安装

通过 SDV 库使用 CTGAN

:warning: 如果您刚开始接触合成数据,我们建议安装 SDV 库,该库提供用户友好的 API 以访问 CTGAN。:warning

SDV 库提供预处理数据的包装器,以及如约束等额外可用性功能。有关如何开始的信息,请参阅 SDV 文档

使用独立的 CTGAN 库

或者,您也可以直接安装并作为独立库使用 CTGAN

使用 pip

pip install ctgan

使用 conda

conda install -c pytorch -c conda-forge ctgan

直接使用 CTGAN 库时,您可能需要手动将数据预处理成正确的格式,例如

  • 连续数据必须表示为浮点数
  • 离散数据必须表示为整数或字符串
  • 数据不应包含任何缺失值

使用示例

在这个示例中,我们加载了 Adult Census Dataset*,这是一个内置的演示数据集。我们使用 CTGAN 从真实数据中学习,然后生成一些合成数据。

from ctgan import CTGAN
from ctgan import load_demo

real_data = load_demo()

# Names of the columns that are discrete
discrete_columns = [
    'workclass',
    'education',
    'marital-status',
    'occupation',
    'relationship',
    'race',
    'sex',
    'native-country',
    'income'
]

ctgan = CTGAN(epochs=10)
ctgan.fit(real_data, discrete_columns)

# Create synthetic data
synthetic_data = ctgan.sample(1000)

*有关数据集的更多信息,请参阅:Dua, D. and Graff, C. (2019). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.

加入我们的社区

加入我们的 Slack 频道,讨论更多关于 CTGAN 和合成数据的内容。如果您发现错误或有功能请求,您也可以在我们的 GitHub 上 提交问题

想为 CTGAN 做贡献吗? 请阅读我们的 贡献指南 以开始。

引用 CTGAN

如果您使用了 CTGAN,请引用以下工作

Lei Xu, Maria Skoularidou, Alfredo Cuesta-Infante, Kalyan Veeramachaneni。 使用条件 GAN 模型化表格数据. NeurIPS, 2019。

@inproceedings{ctgan,
  title={Modeling Tabular data using Conditional GAN},
  author={Xu, Lei and Skoularidou, Maria and Cuesta-Infante, Alfredo and Veeramachaneni, Kalyan},
  booktitle={Advances in Neural Information Processing Systems},
  year={2019}
}

相关项目

请注意,这些项目是 SDV 生态系统之外的。它们与 DataCebo 无关,也不由 DataCebo 维护。

  • CTGAN 的 R 接口:一个封装了 CTGAN 功能的包装器,为 R 用户提供了功能。更多详情请参阅相应的存储库:[https://github.com/kasaai/ctgan](https://github.com/kasaai/ctgan)
  • CTGAN 服务器 CLI:一个用于轻松将 CTGAN 部署到远程服务器的软件包。由 Timothy Pillow @oregonpillow 创建,详情请见:[https://github.com/oregonpillow/ctgan-server-cli](https://github.com/oregonpillow/ctgan-server-cli)



合成数据保险库项目于 2016 年首次在麻省理工学院的 数据到 AI 实验室 创建。经过 4 年的企业研究与推广,我们于 2020 年创建了 DataCebo,旨在扩大该项目。今天,DataCebo 是 SDV 的自豪的开发者,SDV 是合成数据生成与评估的最大生态系统。它拥有多个支持合成数据的库,包括

  • 🔄 数据发现与转换。反向转换以再现真实数据。
  • 🧠 多种机器学习模型,从 Copulas 到深度学习,用于创建表格、多表和时间序列数据。
  • 📊 测量合成数据的质量和隐私性,并比较不同的合成数据生成模型。

开始使用 SDV 软件包 – 一个完全集成的解决方案,是合成数据的一站式商店。[开始使用 SDV 软件包](https://sdv.dev/SDV/getting_started/install.html) 或使用独立的库来满足特定需求。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

ctgan-0.10.1.tar.gz (26.6 kB 查看哈希值)

上传时间

构建分发

ctgan-0.10.1-py3-none-any.whl (24.2 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面