# Fast ML Preset

{% hint style="danger" %}
***This synthesizer is deprecated.*** Please use the [GaussianCopulaSynthesizer](/sdv/single-table-data/modeling/synthesizers/gaussiancopulasynthesizer.md) instead. The Gaussian Copula is just as fast as the Fast ML Preset, with more customization options for higher quality data.
{% endhint %}

The Fast ML Preset synthesizer is optimized for modeling speed. This is a great choice for first time SDV users. Use it to quickly get started with synthetic data.

```python
from sdv.lite import SingleTablePreset

synthesizer = SingleTablePreset(metadata, name='FAST_ML')
synthesizer.fit(data)

synthetic_data = synthesizer.sample(num_rows=10)
```

## Creating a synthesizer

When creating your synthesizer, you are required to pass in a [Metadata](/sdv/single-table-data/data-preparation/creating-metadata.md) object as the first argument and the `'FAST_ML'` preset name as the second. All other parameters are optional. You can include them to customize the synthesizer.

```python
synthesizer = SingleTablePreset(
    metadata, # required
    name='FAST_ML', # required
    locales=['en_US', 'en_CA']
)
```

### Parameter Reference

**`locales`**: A list of locale strings. Any PII columns will correspond to the locales that you provide.

<table data-header-hidden><thead><tr><th width="218"></th><th></th></tr></thead><tbody><tr><td>(default) <code>['en_US']</code></td><td>Generate PII values in English corresponding to US-based concepts (eg. addresses, phone numbers, etc.)</td></tr><tr><td><code>&#x3C;list></code></td><td><p>Create data from the list of locales. Each locale string consists of a 2-character code for the language and 2-character code for the country, separated by an underscore.</p><p></p><p>For example <code>[</code><a href="https://faker.readthedocs.io/en/master/locales/en_US.html"><code>"en_US"</code></a><code>,</code> <a href="https://faker.readthedocs.io/en/master/locales/fr_CA.html"><code>"fr_CA"</code></a><code>]</code>. </p><p>For all options, see the <a href="https://faker.readthedocs.io/en/master/locales.html">Faker docs</a>.</p></td></tr></tbody></table>

## Learning from your data

To learn a machine learning model based on your real data, use the `fit` method.

### fit

**Parameters**

* (required) `data`: A [pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) object containing the real data that the machine learning model will learn from

**Output** (None)

```python
synthesizer.fit(data)
```

{% hint style="info" %}
**Technical Details**: This preset uses the [GaussianCopulaSynthesizer](/sdv/single-table-data/modeling/synthesizers/gaussiancopulasynthesizer.md) with fixed settings.

```python
GaussianCopulaSynthesizer(
    enforce_min_max_values=True,
    enforce_rounding=True,
    default_distribution='norm',
)
```

This allows for a fast modeling time while still using machine learning to learn patterns.
{% endhint %}

## Saving your synthesizer

Save your trained synthesizer for future use.

### save

Use this function to save your trained synthesizer as a Python pickle file.

**Parameters**

* (required) `filepath`: A string describing the filepath where you want to save your synthesizer. Make sure this ends in `.pkl`

**Output** (None) The file will be saved at the desired location

```python
synthesizer.save(
    filepath='my_synthesizer.pkl'
)
```

### SingleTablePreset.load

Use this function to load a trained synthesizer from a Python pickle file

**Parameters**

* (required) `filepath`: A string describing the filepath of your saved synthesizer

**Output** Your synthesizer, as a `SingleTablePreset` object

```python
from sdv.lite import SingleTablePreset

synthesizer = SingleTablePreset.load(
    filepath='my_synthesizer.pkl'
)
```

## What's next?

After training your synthesizer, you can now sample synthetic data. See the [Sampling](/sdv/single-table-data/sampling.md) section for more details.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sdv.dev/sdv/single-table-data/modeling/synthesizers/fast-ml-preset.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
