Releases: sdv-dev/SDV
v0.10.1 - 2021-06-10
This release changes the way we sample conditions to not only group by the conditions passed by the user, but also by the transformed conditions that result from them.
Issues resolved
- Conditionally sampling on variable in constraint should have variety for other variables - Issue #440 by @amontanez24
v0.10.0 - 2021-05-21
This release improves the constraint functionality by allowing constraints and conditions
at the same time. Additional changes were made to update tutorials.
Issues resolved
- Not able to use constraints and conditions in the same time - Issue #379
by @amontanez24 - Update benchmarking user guide for reading private datasets - Issue #427
by @katxiao
v0.9.1 - 2021-04-29
This release broadens the constraint functionality by allowing for the ColumnFormula
constraint to take lambda functions and returned functions as an input for its formula.
It also improves conditional sampling by ensuring that any id
fields generated by the
model remain unique throughout the sampled data.
The CTGAN
model was improved by adjusting a default parameter to be more mathematically
correct.
Additional changes were made to improve tutorials as well as fix fragile tests.
Issues resolved
- Tutorials test sometimes fails - Issue #355
by @fealho - Duplicate IDs when using reject-sampling - Issue #331
by @amontanez24 and @csala - discriminator_decay should be initialized at 1e-6 but it's 0 - Issue #401 by @fealho and @YoucefZemmouri
- Tutorial typo - Issue #380 by @fealho
- Request for sdv.constraint.ColumnFormula for a wider range of function - Issue #373 by @amontanez24 and @JetfiRex
v0.9.0 - 2021-03-31
This release brings new privacy metrics to the evaluate framework which help to determine if the real data could be obtained or deduced from the synthetic samples. Additionally, now there is a normalized score for the metrics, which stays between 0
and 1
.
There are improvements that reduce the usage of memory ram when sampling new data. Also there is a new parameter to control the reject sampling crash, graceful_reject_sampling
, which if set to True
and if it's not possible to generate all the requested rows, it will just issue a warning and return whatever it was able to generate.
The Metadata
object can now be visualized using different combinations of names
and details
, which can be set to True
or False
in order to display only the table names with details or without. There is also an improvement on the validation
, which now will display all the errors found at the end of the validation instead of only the first one.
This version also exposes all the hyperparameters of the models CTGAN
and TVAE
to allow a more advanced usage. There is also a fix for the TVAE
model on small datasets and it's performance with NaN
values has been improved. There is a fix for when using UniqueCombinationConstraint
with the transform
strategy.
Issues resolved
- Memory Usage Gaussian Copula Trained Model consuming high memory when generating synthetic data - Issue #304 by @pvk-developer
- Add option to visualize metadata with only table names - Issue #347 by @csala
- Add sample parameter to control reject sampling crash - Issue #343 by @fealho
- Verbose metadata validation - Issue #348 by @csala
- Missing the introduction of custom specification for hyperparameters in the TVAE model - Issue #344 by @pvk-developer
v0.8.0 - 2021-02-24
This version adds conditional sampling for tabular models by combining a reject-sampling
strategy with the native conditional sampling capabilities from the Gaussian Copulas.
It also introduces several upgrades on the HMA1 algorithm that improve data quality and
robustness in the multi-table scenarios by making changes in how the parameters of the child
tables are aggregated on the parent tables, including a complete rework of how the correlation
matrices are modeled and rebuild after sampling.
Issues resolved
v0.7.0 - 2021-01-27
This release introduces a few changes in the HMA1 relational algorithm to decrease modeling
and sampling times, while also ensuring that correlations are properly kept across tables
and also adding support for some relational schemas that were not supported before.
A few changes in constraints and tabular models also ensure that situations that produced
errors before now work without errors.
Issues resolved
- Fix unique key generation - Issue #306 by @fealho
- Ensure tables that contain nothing but ids can be modeled - Issue #302 by @csala
- Metadata visualization improvements - Issue #301 by @csala
- Multi-parent re-model and re-sample issue - Issue #298 by @csala
- Support datetimes in GreaterThan constraint - Issue #266 by @rollervan
- Support for multiple foreign keys in one table - Issue #185 by @csala
v0.6.1 - 2020-12-31
SDMetrics version is updated to include the new Time Series metrics, which have also
been added to the API Reference and User Guides documentation. Additionally,
a few code has been refactored to reduce external dependencies and a few minor bugs
related to single table constraints have been fixed
Issues resolved:
- Add timeseries metrics and user guides - Issue #289 by @csala
- Add functions to generate regex ids - Issue #288 by @csala
- Saving a fitted tabular model with UniqueCombinations constraint raises PicklingError -
Issue #286 by @csala - Constraints:
handling_strategy='reject_sampling'
causes'ZeroDivisionError: division by zero'
-
Issue #285 by @csala
v0.6.0 - 2020-12-22
This release updates to the latest CTGAN, RDT and SDMetrics libraries to introduce a
new TVAE model, multiple new metrics for single table and multi table, and fixes
issues in the re-creation of tabular models from a metadata dict.
Issues resolved:
- Upgrade to SDMetrics v0.1.0 and add
sdv.metrics
module - Issue #281 by @csala - Upgrade to CTGAN 0.3.0 and add TVAE model - Issue #278 by @fealho
- Add
dtype_transformers
toTable.from_dict
- Issue #276 by @csala - Fix Metadata
from_dict
behavior - Issue #275 by @csala
v0.5.0 - 2020-11-25
This version updates the dependencies and makes a few internal changes in order
to ensure that SDV works properly on Windows Systems, making this the first
release to be officially supported on Windows.
Apart from this, some more internal changes have been made to solve a few minor
issues from the older versions while also improving the processing speed when
processing relational datasets with the default parameters.
API breaking changes
- The
distribution
argument of theGaussianCopula
has been renamed tofield_distributions
. - The
HMA1
andSDV
classes now use thecategorical_fuzzy
transformer by default instead of
theone_hot_encoding
one.
Issues resolved
- GaussianCopula: rename
distribution
argument tofield_distributions
- Issue #237 by @csala - GaussianCopula: Improve error message if an invalid distribution name is passed - Issue #220 by @csala
- Import urllib.request explicitly - Issue #227 by @csala
- TypeError: cannot astype a datetimelike from [datetime64[ns]] to [int32] - Issue #218 by @csala
- Change default categorical transformer to
categorical_fuzzy
in HMA1 - Issue #214 by @csala - Integer categoricals being sampled as strings instead of integer values - Issue #194 by @csala
v0.4.5 - 2020-10-17
In this version a new family of models for Synthetic Time Series Generation is introduced
under the sdv.timeseries
sub-package. The new family of models now includes a new class
called PAR
, which implements a Probabilistic AutoRegressive model.
This version also adds support for composite primary keys and regex based generation of id
fields in tabular models and drops Python 3.5 support.
Issues resolved
- Drop python 3.5 support - Issue #204 by @csala
- Support composite primary keys in tabular models - Issue #207 by @csala
- Add the option to generate string
id
fields based on regex on tabular models - Issue #208 by @csala - Synthetic Time Series - Issue #142 by @csala