跳转到主要内容

使用各种数据集对表格式合成数据生成器进行基准测试

项目描述


此仓库是 合成数据宝库项目 的一部分,该项目由 DataCebo 提供支持。

Development Status Travis PyPi Shield Downloads Slack

概述

合成数据健身房(SDGym)是一个用于建模和生成合成数据的基准框架。衡量不同合成数据建模技术(经典统计学、深度学习等)的性能和内存使用情况!

SDGym 库与合成数据宝库生态系统集成。您可以使用其任何合成器、数据集或指标进行基准测试。您还可以自定义过程,包括您自己的工作。

  • 数据集:从 SDV 项目中选择任何公开可用的数据集,或输入您自己的数据。
  • 合成器:从 SDV 合成器中选择任何基准。或者编写您自己的自定义机器学习模型。
  • 评估:除了性能和内存使用外,您还可以通过各种指标衡量合成数据质量和隐私。

安装

使用 pip 或 conda 安装 SDGym。我们建议使用虚拟环境,以避免与设备上其他软件发生冲突。

pip install sdgym
conda install -c pytorch -c conda-forge sdgym

有关使用 SDGym 的更多信息,请访问 SDGym 文档

用法

让我们对单表合成数据生成进行基准测试。首先,让我们定义我们想使用的建模技术。让我们从 SDV 库中选择一些合成器和其他一些作为基准。

# these synthesizers come from the SDV library
# each one uses different modeling techniques
sdv_synthesizers = ['GaussianCopulaSynthesizer', 'CTGANSynthesizer']

# these basic synthesizers are available in SDGym
# as baselines
baseline_synthesizers = ['UniformSynthesizer']

现在,我们可以基准测试不同的技术

import sdgym

sdgym.benchmark_single_table(
    synthesizers=(sdv_synthesizers + baseline_synthesizers)
)

结果是针对各种公开可用的数据集的合成器性能、内存和质量评估的详细报告。

提供自定义合成器

基准测试您自己的合成数据生成技术。通过指定训练逻辑(使用机器学习)和采样逻辑来定义您的合成器。

def my_training_logic(data, metadata):
    # create an object to represent your synthesizer
    # train it using the data
    return synthesizer

def my_sampling_logic(trained_synthesizer, num_rows):
    # use the trained synthesizer to create
    # num_rows of synthetic data
    return synthetic_data

有关更多信息,请参阅 自定义合成器指南

自定义您的数据集

SDGym 库包含许多公开可用的数据集,您可以立即使用它们。使用 get_available_datasets 功能列出这些数据集。

sdgym.get_available_datasets()
dataset_name   size_MB     num_tables
KRK_v1         0.072128    1
adult          3.907448    1
alarm          4.520128    1
asia           1.280128    1
...

您还可以包括存储在您计算机上的任何自定义、私有数据集,在 Amazon S3 存储桶中。

my_datasets_folder = 's3://my-datasets-bucket'

有关更多信息,请参阅 自定义数据集 文档。

接下来是什么?

访问 SDGym 文档 了解更多信息!




合成数据保险库项目于2016年首次在麻省理工学院的数据到AI实验室(Data to AI Lab)创建。经过4年的企业合作研究和推广,我们于2020年创建了DataCebo,目标是扩大项目规模。如今,DataCebo是SDV的骄傲开发者,SDV是最大的合成数据生成与评估生态系统。它拥有多个支持合成数据的库,包括

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

开始使用SDV包 -- 一个完全集成的解决方案,也是您合成数据的一站式商店。或者,使用独立的库来满足特定需求。

项目详情


下载文件

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

源代码分发

sdgym-0.9.1.tar.gz (36.8 kB 查看哈希值)

上传时间 源代码

构建分发

sdgym-0.9.1-py3-none-any.whl (38.4 kB 查看哈希值)

上传于 Python 3

支持