使用条件GAN创建表格合成数据
项目描述
概述
CTGAN 是一个基于深度学习的单表数据合成数据生成器集合,能够从真实数据中学习并生成高保真度的合成数据。
重要链接 | |
---|---|
:computer: 网站 | 访问 SDV 网站,了解更多关于我们整体合成数据生态系统的信息。 |
:orange_book: 博客 | 深入了解开源、合成数据创建和评估。 |
:book: 文档 | 快速入门、用户和开发指南,以及 API 参考。 |
:octocat: 仓库 | 此库的 Github 仓库链接。 |
:keyboard: 开发状态 | 此软件处于预_alpha 阶段。 |
加入我们的 Slack 工作空间以获取公告和讨论。 |
目前,此库实现了在 2019 年 NeurIPS 会议上的论文 Modeling Tabular data using Conditional GAN 中描述的 CTGAN 和 TVAE 模型。
安装
通过 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) 或使用独立的库来满足特定需求。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
ctgan-0.10.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f626a5e48d629e5621864f790ed26e2f51ac7257fc3e9ad252fee161961a810d |
|
MD5 | 4c1aba425c9fd7863fddc666fc56f4aa |
|
BLAKE2b-256 | 6aad44c5b0f90b81b966eaf0957e1d3f7c444fcddf9505d1e7157c95c8526e4f |
ctgan-0.10.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 567fa681a0a30f653133f5c0f167062dd86c87564b48a8eaa3cebfb785500d61 |
|
MD5 | 4185b8c0dd9c42ca4002f95b7b3195b9 |
|
BLAKE2b-256 | f58376a87f771404a78941d6d254ac0c6003f7407776bc6eb187f81114e4d4d0 |