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

Deprecate SingleTablePreset (including FastML Preset) #1855

Closed
npatki opened this issue Mar 18, 2024 · 0 comments · Fixed by #1894
Closed

Deprecate SingleTablePreset (including FastML Preset) #1855

npatki opened this issue Mar 18, 2024 · 0 comments · Fixed by #1894
Assignees
Labels
feature request Request for a new feature
Milestone

Comments

@npatki
Copy link
Contributor

npatki commented Mar 18, 2024

Problem Description

Currently, we recommend the SingleTablePreset (with 'FAST_ML' option) as the first quickstart synthesizer that a user should try. At the time we added this, the intention was to provide the easiest option for users to try creating synthetic data. But since then, there have been changes that make the SingleTablePreset more of a liability.

  1. We've improved the GaussianCopulaSynthesizer so much that its speed is similar to SingleTablePreset
  2. The GaussianCopulaSynthesizer (and other SDV synthesizers) are hooked up to other customizations (constraints, transformers, etc.) that are not possible with SingleTablePreset. So users have to move to these synthesizers anyway.
  3. SingleTablePreset is a special wrapper on top of GaussianCopulaSynthesizer and as such, it costs us more to maintain and update it with features.
  4. The original intention was to add other options (besides FAST_ML) to SingleTablePreset but upon further consideration, we would rather expose these as different synthesizers.

Expected behavior

Deprecate SingleTablePreset. To be backwards compatible, we should still allow users to use the functionality without crashing. However, any function within the SingleTablePreset class (including __init__) should yield a FutureWarning asking the user to switch to GaussianCopulaSynthesizer instead.

>>> synth = SingleTablePreset(metadata, name='FAST_ML')
Future Warning: The 'SingleTablePreset' is deprecated. For equivalent Fast ML functionality, please use the 'GaussianCopulaSynthesizer'.

Additional context

We will also need to update our docs and Quickstart tutorial after this is updated.

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
Development

Successfully merging a pull request may close this issue.

3 participants