===================================================
Quailified Architecture to Improve Labeling (QUAIL)
===================================================

The QUAIL synthesizer combines a differentially private classifier and a differentially private synthesizer to produce synthetic data that can perform well on both classification and analytics tasks.  The synthesizer first fits a differentially private classifier on the private data, to produce a model that can predict the labels from the other columns of the data.  The synthesizer then uses a differentially private synthesizer to learn the distribution of the feature columns from the private data.  Synthetic data is then generated by sampling feature rows from the fitted synthesizer, and generating labels using the previously learned classifier.  With this hybrid approach, the analyst can control how much privacy budget to spend on classifiication versus learning the feature distribution.

QUAIL is described in `Differentially Private Synthetic Data: Applied Evaluations and Enhancements <https://arxiv.org/abs/2011.05537>`_.

Parameters
----------

.. autoclass:: snsynth.quail.QUAILSynthesizer
