create()
Create and initialize the synthesizer.
Syntax
def create(metadata: SchemaMetadata = None)
Parameters
- metadata : SchemaMetadata, optional
- Schema metadata for the dataset
- Contains data structure definitions
- Default:
None
Returns
None. Initializes the synthesizer’s internal state.
Description
The create()
method is used to create and initialize a synthesizer instance. This method sets up the synthesizer’s internal implementation based on the synthesis method specified during initialization (e.g., SDV, custom methods).
This method performs the following operations:
- Selects the appropriate synthesizer implementation based on the
method
parameter - Passes metadata to the implementation class
- Initializes the synthesizer’s internal state
- Prepares the synthesizer for subsequent training (
fit()
) operations
Example
from petsard import Synthesizer, Metadater
# Create metadata from data
df = pd.read_csv('data.csv')
metadata = Metadater.from_data(df)
# Create synthesizer
synthesizer = Synthesizer(method='default')
synthesizer.create(metadata=metadata)
# Now ready for training
synthesizer.fit(data=df)
Notes
- Must call
create()
before callingfit()
orfit_sample()
- The metadata parameter is optional but recommended to ensure proper data structure handling
- For SDV synthesizers, metadata is automatically converted to SDV-required format
- Custom synthesizers must implement a compatible interface to receive metadata
- This method does not return a value but updates the synthesizer’s internal state
- Calling
create()
repeatedly will reinitialize the synthesizer