Conditional tabular GAN using Private Aggregation of Teacher Ensembles. From “PATE-GAN: Generating Synthetic Data with Differential Privacy Guarantees” and “Modeling Tabular data using Conditional GAN”.

import pandas as pd
from snsynth import Synthesizer

pums = pd.read_csv("PUMS.csv")

synth = Synthesizer.create("patectgan", epsilon=3.0, verbose=True)
synth.fit(pums, preprocessor_eps=1.0)
pums_synth = synth.sample(1000)

Parameters

class snsynth.pytorch.nn.PATECTGAN(embedding_dim=128, generator_dim=(256, 256), discriminator_dim=(256, 256), generator_lr=0.0002, generator_decay=1e-06, discriminator_lr=0.0002, discriminator_decay=1e-06, batch_size=500, discriminator_steps=1, verbose=True, epochs=300, pac=1, cuda=True, epsilon=1, binary=False, regularization=None, loss='cross_entropy', teacher_iters=5, student_iters=5, sample_per_teacher=1000, delta=None, noise_multiplier=0.001, moments_order=100)[source]