Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create GaussianCopula, CTGAN, TVAE and CopulaGAN synthesizer classes #1013

Closed
amontanez24 opened this issue Sep 16, 2022 · 0 comments · Fixed by #1034
Closed

Create GaussianCopula, CTGAN, TVAE and CopulaGAN synthesizer classes #1013

amontanez24 opened this issue Sep 16, 2022 · 0 comments · Fixed by #1034
Assignees
Labels
feature request Request for a new feature
Milestone

Comments

@amontanez24
Copy link
Contributor

amontanez24 commented Sep 16, 2022

Problem Description

Once the BaseSynthesizer class is created, we can add the rest of the synthesizers.

Expected behavior

  • Create GaussianCopulaSynthesizer in single_table module

    • Inherits from BaseSynthesizer
    • Has following special __init__ attributes:
      • numerical_distributions (dict): maps a numerical column name to the name of a distribution. This overrides the default distribution.
        • (default) None: No overrides
        • Valid options are: 'gaussian', 'beta', 'truncated_gaussian', 'uniform', 'gamma', 'gaussian_kde'
      • default_distribution: The distribution shape to use by default
        • (default) 'beta': use the beta distribution
        • Valid options: 'gaussian', 'beta', 'uniform', 'gamma', 'gaussian_kde', 'truncated_gaussian'
  • Create CTGANSynthesizer in single_table module

    • Inherits from BaseSynthesizer
    • Has following special __init__ parms:
      • embedding_dim
      • generator_dim
      • discriminator_dim
      • generator_lr
      • generator_decay
      • discriminator_lr
      • discriminator_decay
      • batch_size
      • discriminator_steps
      • log_frequency
      • verbose
      • epochs
      • pac
      • cuda
  • Create TVAESynthesizer in single_table module

    • Inherits from BaseSynthesizer
    • Has following special __init__ parms:
      • embedding_dim
      • compress_dims
      • decompress_dims
      • l2scale
      • batch_size
      • epochs
      • loss_factor
      • cuda
  • Create CopulaGANSynthesizer in single_table module

    • Inherits from CTGANSynthesizer
    • Has following special __init__ attributes:
      • numerical_distributions (dict): maps a numerical column name to the name of a distribution. This overrides the default distribution.
        • (default) None: No overrides
        • Valid options are: 'gaussian', 'beta', 'truncated_gaussian', 'uniform', 'gamma', 'gaussian_kde'
      • default_distribution: The distribution shape to use by default
        • (default) 'beta': use the beta distribution
        • Valid options: 'gaussian', 'beta', 'uniform', 'gamma', 'gaussian_kde', 'truncated_gaussian'
      • embedding_dim
      • generator_dim
      • discriminator_dim
      • generator_lr
      • generator_decay
      • discriminator_lr
      • discriminator_decay
      • batch_size
      • discriminator_steps
      • log_frequency
      • verbose
      • epochs
      • pac
      • cuda

Additional context

  • We should use the current single table models as influence for the types of each parameter unless it is specifically specified above.
  • There will be private attributes for each of these classes not listed above that we may need. Again, draw influence or just migrate over from the current single table classes
@amontanez24 amontanez24 added the feature request Request for a new feature label Sep 16, 2022
@amontanez24 amontanez24 added this to the 1.0.0 milestone Sep 16, 2022
@amontanez24 amontanez24 changed the title Create GaussianCopula, CTGAN, TVAE, CopulaGAN and PAR synthesizer classes Create GaussianCopula, CTGAN, TVAE and CopulaGAN synthesizer classes Oct 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Request for a new feature
Projects
None yet
2 participants