Project Icon

SDV

使用机器学习生成高质量合成数据,提高隐私保护

SDV利用多种机器学习算法,提供生成表格合成数据的解决方案。主要功能包括生成单表、多表和序列数据,支持数据预处理、匿名化和逻辑约束定义。此外,SDV还提供数据评估和可视化工具,比较合成数据与真实数据,并生成质量报告。适合初学者和资深数据科学家,满足多样化需求。


此仓库是 The Synthetic Data Vault Project 的一部分,该项目由 DataCebo 提供支持。

开发状态 PyPi节 单元测试 集成测试 覆盖状况 下载 Colab Slack

概述

Synthetic Data Vault (SDV) 是一个Python库,旨在成为您的合成表格数据创建的一站式解决方案。SDV使用多种机器学习算法来学习真实数据中的模式,并在合成数据中模仿它们。

特性

:brain: 使用机器学习生成合成数据。 SDV提供了多种模型,从经典的统计方法(GaussianCopula)到深度学习方法(CTGAN)均可应用。可以为单个表、多张互相关联的表或序列表生成数据。

:bar_chart: 评估和可视化数据。 根据各种度量标准,将合成数据与实际数据进行比较。诊断问题并生成质量报告以获得更多见解。

:arrows_counterclockwise: 预处理、匿名化和定义约束。 控制数据处理以提高合成数据的质量,从不同类型的匿名化方法中选择,并以逻辑约束的形式定义业务规则。

重要链接
教程通过SDV获得一些动手体验。启动教程笔记本并亲自运行代码。
:book: [文档]通过用户指南和API参考来学习如何使用SDV库。
:orange_book: [博客]获取更多关于使用SDV、部署模型以及我们的合成数据社区的见解。
社区加入我们的Slack工作区获取公告和讨论。
:computer: [网站]查看SDV网站以获取有关项目的更多信息。

安装

SDV是根据商业源代码许可证公开提供的。使用pip或conda安装SDV。我们建议使用虚拟环境以避免与设备上其他软件发生冲突。

pip install sdv
conda install -c pytorch -c conda-forge sdv

入门

加载一个演示数据集以开始。此数据集是描述虚构酒店客人住宿的单张表。

from sdv.datasets.demo import download_demo

real_data, metadata = download_demo(
    modality='single_table',
    dataset_name='fake_hotel_guests')

单表元数据示例

演示还包括元数据,它是对数据集的描述,包括每列中的数据类型和主键(guest_email)。

合成数据

接下来,我们可以创建一个SDV合成器,这是一个可以用来创建合成数据的对象。它从真实数据中学习模式,并复制这些模式生成合成数据。让我们使用GaussianCopulaSynthesizer

from sdv.single_table import GaussianCopulaSynthesizer

synthesizer = GaussianCopulaSynthesizer(metadata)
synthesizer.fit(data=real_data)

现在合成器已准备好生成合成数据!

synthetic_data = synthesizer.sample(num_rows=500)

合成数据将具有以下特性:

  • 敏感列完全匿名化。 邮件、账单地址和信用卡号列包含新数据,因此您不会暴露真实值。
  • 其他列遵循统计模式。 例如,房间类型的比例、入住日期的分布和房价与房间类型之间的相关性得到了保留。
  • 键和其他关系保持完整。 主键(客人邮箱)对每行都是唯一的。如果您有多个表,主键和外键之间的连接是有意义的。

评估合成数据

SDV库允许您通过将合成数据与实际数据进行比较来评估合成数据。首先生成一个质量报告。

from sdv.evaluation.single_table import evaluate_quality

quality_report = evaluate_quality(
    real_data,
    synthetic_data,
    metadata)
生成报告中...

(1/2) 评估列形状: |████████████████| 9/9 [00:00<00:00, 1133.09it/s]|
列形状得分: 89.11%

(2/2) 评估列对趋势: |██████████████████████████████████████████| 36/36 [00:00<00:00, 502.88it/s]|
列对趋势得分: 88.3%

总体得分(平均值):88.7%

该对象计算了一个0到100%(100为最佳)的总体质量得分,并给出详细的分解。为了获得更多见解,您还可以将合成数据与真实数据进行可视化比较。

from sdv.evaluation.single_table import get_column_plot

fig = get_column_plot(
    real_data=real_data,
    synthetic_data=synthetic_data,
    column_name='amenities_fee',
    metadata=metadata
)
    
fig.show()

真实数据与合成数据

接下来做什么?

使用SDV库,您可以合成单表、多表和序列数据。您还可以定制完整的合成数据工作流,包括预处理、匿名化和添加约束。

要了解更多信息,请访问SDV演示页面

致谢

感谢我们多年来建设和维护SDV生态系统的团队!

查看贡献者

引用

如果您在研究中使用了SDV,请引用以下论文:

Neha Patki, Roy Wedge, Kalyan Veeramachaneni. The Synthetic Data Vault. IEEE DSAA 2016.

@inproceedings{
    SDV,
    title={The Synthetic data vault},
    author={Patki, Neha and Wedge, Roy and Veeramachaneni, Kalyan},
    booktitle={IEEE International Conference on Data Science and Advanced Analytics (DSAA)},
    year={2016},
    pages={399-410},
    doi={10.1109/DSAA.2016.49},
    month={Oct}
}



The Synthetic Data Vault Project 于2016年在MIT的数据到AI实验室首次创建。经过4年的研究并在企业中获得了足够的发展,于2020年成立了DataCebo,旨在推动这一项目的发展。 今天,DataCebo自豪地成为SDV的开发者,SDV是合成数据生成和评估的最大生态系统。它是多个支持合成数据的库的家园,包括:

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

开始使用SDV包——一个完整的集成解决方案和您合成数据的一站式选择。或者,使用特定需求的独立库。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号