sdv-dev/SDV

Synthetic data generation for tabular data

SDV – 合成数据保险库

是什么 – 一个 Python 库,允许您在真实表格数据上训练机器学习模型,然后生成该数据的 合成 版本。支持单表、相关多表模式以及序列(时间序列)数据。

核心功能

  • 模型库 – 从经典的统计 Copula(如 GaussianCopulaSynthesizer)到深度学习生成器(如 CTGAN)。
  • 完整工作流 – 内置预处理、匿名化和约束处理,确保生成的行遵守主键/外键以及用户定义的业务规则。
  • 评估工具 – 提供计算质量评分和可视化真实数据与合成数据列级对比的函数。
  • 模块化生态系统 – SDV 套件的一部分,还提供数据发现、转换和隐私度量工具。

典型工作流

  1. 加载数据(该包附带演示数据集)。
    from sdv.datasets.demo import download_demo
    real, meta = download_demo(modality='single_table', dataset_name='fake_hotel_guests')
    
  2. 创建并训练合成器。
    from sdv.single_table import GaussianCopulaSynthesizer
    synth = GaussianCopulaSynthesizer(meta)
    synth.fit(real)
    
  3. 生成合成数据行。
    synthetic = synth.sample(500)
    
  4. 评估质量。
    from sdv.evaluation import evaluate_quality, get_column_plot
    report = evaluate_quality(real, synthetic, meta)
    fig = get_column_plot(real, synthetic, column_name='amenities_fee', metadata=meta)
    fig.show()
    

安装 – 在 PyPI 上提供,采用商业源许可证(Business Source License)。

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

适用人群 – 需要在不暴露敏感信息的前提下生成真实测试数据的数据科学家、隐私工程师以及产品团队;或希望扩充稀缺数据集以用于模型训练的用户。

链接 – 文档与教程(Colab 笔记本)均在 README 中提供链接,社区论坛托管于 forum.datacebo.com。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目