SDV Synthesizers

The SDV libraryarrow-up-right offers a variety of synthesizers that you can use for creating synthetic data and benchmarking it. Pass the string names into the synthesizers parameter.

import sdgym

sdgym.benchmark_single_table(
    synthesizers=['GaussianCopulaSynthesizer', 'SegmentSynthesizer']
)

SDGym offers native integration with SDV Synthesizers. Name any synthesizer that you have access to in the SDV library.

circle-info

The SDGym library uses the default settings of each synthesizer. To change them, create a variant using the steps below.

circle-exclamation

Create an SDV variant

Many of the SDV synthesizers can be tuned by setting different parameters. You can test these parameters by creating a variant of the synthesizer.

create_sdv_synthesizer_variant

Use this method to create a variant of an SDV synthesizer.

from sdgym import create_sdv_synthesizer_variant

GammaCopulaSynthesizer = create_sdv_synthesizer_variant(
  synthesizer_class='GaussianCopulaSynthesizer',
  synthesizer_parameters={ 'default_distribution': 'gamma' }
  display_name='GammaCopulaSynthesizer'
)

Parameters

  • (required) synthesizer_class: A string with the name of the synthesizer. This can be any SDV synthesizer.

  • (required) synthesizer_parameters: A dictionary mapping the name of each parameter to the value that you'd like to set for it. The parameters and values may be different for each synthesizer. For more information, see the SDV APIarrow-up-right.

  • (required) display_name: A string that identifies this variant. The display name will appear in the benchmarking results.

Returns A synthesizer class that you can use directly in the benchmarking script

Using your synthesizer variant

To use your synthesizer variant for benchmarking, provide the class using the custom_synthesizers parameter. For example:

Results

Results from your synthesizer variant will be labeled by the provided display_name.

See Interpreting Results for more details.

Last updated