Skip to main content

Generate synthetic data that simulate a given dataset.

Project description

PyPi Shield Travis CI Shield

DataSynthesizer

DataSynthesizer generates synthetic data that simulates a given dataset.

It aims to facilitate the collaborations between data scientists and owners of sensitive data. It applies Differential Privacy techniques to achieve strong privacy guarantee.

For more details, please refer to DataSynthesizer: Privacy-Preserving Synthetic Datasets

Install DataSynthesizer

pip install DataSynthesizer

Usage

Assumptions for the Input Dataset
  1. The input dataset is a table in first normal form (1NF).
  2. When implementing differential privacy, DataSynthesizer injects noises into the statistics within active domain that are the values presented in the table.
Use Jupyter Notebook

After installing DataSynthesizer and Jupyter Notebook, open and try the demos in ./notebooks/

Use Web UI

The dataResponsiblyUI is a Django project that includes DataSynthesizer. Please follow the steps in Run the Web UIs locally and run DataSynthesizer by visiting http://127.0.0.1:8000/synthesizer in a browser.

History

0.1.0 - 2020-06-11

  • First release on PyPI.

0.1.1 - 2020-07-05

Bugs Fixed

  • Numpy error when synthesising data with unique identifiers. - Issue #23 by @raids

0.1.2 - 2020-07-19

Bugs Fixed

  • infer_distribution() for string attributes fails to sort index of varying types. - Issue #24 by @raids

0.1.3 - 2020-09-13

Bugs Fixed

  • The dataframes are not appended into the full space in get_noisy_distribution_of_attributes(). - Issue #26 by @zjroth

0.1.4 - 2021-01-14

Bugs Fixed

  • Fix a bug in candidate key identification.

0.1.5 - 2021-03-11

What's New

  • Downgrade required Python from >=3.8 to >=3.7.

0.1.6 - 2021-03-11

What's New

  • Update example notebooks.

0.1.7 - 2021-03-31

Bugs Fixed

  • Fixed an error in Laplace noise parameter. - Issue #34 by @ganevgv

0.1.8 - 2021-04-09

Bugs Fixed

  • The randomness seeding is effective across the entire project now.

0.1.9 - 2021-07-18

Bugs Fixed

  • Optimized the datetime datatype detection.

0.1.10 - 2021-11-15

Bugs Fixed

  • Seed the randomness in greedy_bayes().

0.1.11 - 2022-03-31

Bugs Fixed

  • Fixed a bug in DateTime generation. - Issue #37 by @artemgur

0.1.12 - 2023-10-17

Bugs Fixed

  • Support Python 3.11+ and pandas 2.0+. - Issue #40 by @artemgur
  • Added empty file creation before saving files. - Issue #41 by @PepijndeReus

0.1.13 - 2023-10-18

Bugs Fixed

  • Support pandas 2.0+.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DataSynthesizer-0.1.13.tar.gz (129.7 kB view details)

Uploaded Source

Built Distribution

DataSynthesizer-0.1.13-py2.py3-none-any.whl (24.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file DataSynthesizer-0.1.13.tar.gz.

File metadata

  • Download URL: DataSynthesizer-0.1.13.tar.gz
  • Upload date:
  • Size: 129.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for DataSynthesizer-0.1.13.tar.gz
Algorithm Hash digest
SHA256 5be5b25969bcf5bc39bc9e8bff63593bc295f4f84b5955f3a1a66679d7c0072a
MD5 bff72714541f03c1a34e81f7caf95feb
BLAKE2b-256 5eb4051fea17ca58bdef3538772fc59115b8bc868eecf81582f6b1b9162854d8

See more details on using hashes here.

File details

Details for the file DataSynthesizer-0.1.13-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for DataSynthesizer-0.1.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3d90b3b97c61ed08c9025a6c9bd76504394ab94a2728f8fef7bba024c2debfd4
MD5 4a120db9f28c75d821928055f909a8ee
BLAKE2b-256 e9f512b5bdff0f3e2cf4ab6f991e5307c643abe6a4d72b8a78f754b59a074c6d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page