probaforms


Nameprobaforms JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/HSE-LAMBDA/probaforms
SummarySynthetic data generation for tables.
upload_time2023-07-26 18:15:04
maintainer
docs_urlNone
authorMikhail Hushchyn
requires_python>=3.8,<4.0
licenseMIT
keywords synthetic data augmentation generative models normalizing flows vae gan
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Welcome to probaforms

[![PyPI version](https://badge.fury.io/py/probaforms.svg)](https://badge.fury.io/py/probaforms)
[![Tests](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/tests.yml/badge.svg)](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/tests.yml)
[![Docs](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/pages/pages-build-deployment)
[![Downloads](https://static.pepy.tech/badge/probaforms)](https://pepy.tech/project/probaforms)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

`Probaforms` is a python library of conditional Generative Adversarial Networks, Normalizing Flows, Variational Autoencoders and other generative models for tabular data. All models have a sklearn-like interface to enable rapid use in a variety of science and engineering applications.

## Implemented conditional models
- Variational Autoencoder (CVAE)
- Wasserstein GAN (WGAN)
- Real NVP

## Installation
```
pip install probaforms
```
or
```python
git clone https://github.com/HSE-LAMBDA/probaforms.git
cd probaforms
pip install -e .
```

or

```
poetry install
```

## Basic usage
(See more examples in the [documentation](https://hse-lambda.github.io/probaforms).)

The following code snippet generates a noisy synthetic data, fits a conditional generative model, sample new objects, and displays the results.

```python
from sklearn.datasets import make_moons
import matplotlib.pyplot as plt
from probaforms.models import RealNVP

# generate sample X with conditions C
X, y = make_moons(n_samples=1000, noise=0.1)
C = y.reshape(-1, 1)

# fit nomalizing flow model
model = RealNVP(lr=0.01, n_epochs=100)
model.fit(X, C)

# sample new objects
X_gen = model.sample(C)

# display the results
plt.scatter(X_gen[y==0, 0], X_gen[y==0, 1])
plt.scatter(X_gen[y==1, 0], X_gen[y==1, 1])
plt.show()
```

## Support

- Home: [https://github.com/HSE-LAMBDA/probaforms](https://github.com/HSE-LAMBDA/probaforms)
- Documentation: [https://hse-lambda.github.io/probaforms](https://hse-lambda.github.io/probaforms)
- For any usage questions, suggestions and bugs use the [issue page](https://github.com/HSE-LAMBDA/probaforms/issues), please.

## Thanks to all our contributors

<a href="https://github.com/HSE-LAMBDA/probaforms/graphs/contributors">
  <img src="https://contributors-img.web.app/image?repo=HSE-LAMBDA/probaforms" />
</a>


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/HSE-LAMBDA/probaforms",
    "name": "probaforms",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "synthetic data,augmentation,generative models,normalizing flows,VAE,GAN",
    "author": "Mikhail Hushchyn",
    "author_email": "hushchyn.mikhail@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/03/96/8ff5b784ce7cac023d1f3908d355d756427db844286243fa4cafbea88dba/probaforms-0.2.0.tar.gz",
    "platform": null,
    "description": "# Welcome to probaforms\n\n[![PyPI version](https://badge.fury.io/py/probaforms.svg)](https://badge.fury.io/py/probaforms)\n[![Tests](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/tests.yml/badge.svg)](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/tests.yml)\n[![Docs](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/HSE-LAMBDA/probaforms/actions/workflows/pages/pages-build-deployment)\n[![Downloads](https://static.pepy.tech/badge/probaforms)](https://pepy.tech/project/probaforms)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n`Probaforms` is a python library of conditional Generative Adversarial Networks, Normalizing Flows, Variational Autoencoders and other generative models for tabular data. All models have a sklearn-like interface to enable rapid use in a variety of science and engineering applications.\n\n## Implemented conditional models\n- Variational Autoencoder (CVAE)\n- Wasserstein GAN (WGAN)\n- Real NVP\n\n## Installation\n```\npip install probaforms\n```\nor\n```python\ngit clone https://github.com/HSE-LAMBDA/probaforms.git\ncd probaforms\npip install -e .\n```\n\nor\n\n```\npoetry install\n```\n\n## Basic usage\n(See more examples in the [documentation](https://hse-lambda.github.io/probaforms).)\n\nThe following code snippet generates a noisy synthetic data, fits a conditional generative model, sample new objects, and displays the results.\n\n```python\nfrom sklearn.datasets import make_moons\nimport matplotlib.pyplot as plt\nfrom probaforms.models import RealNVP\n\n# generate sample X with conditions C\nX, y = make_moons(n_samples=1000, noise=0.1)\nC = y.reshape(-1, 1)\n\n# fit nomalizing flow model\nmodel = RealNVP(lr=0.01, n_epochs=100)\nmodel.fit(X, C)\n\n# sample new objects\nX_gen = model.sample(C)\n\n# display the results\nplt.scatter(X_gen[y==0, 0], X_gen[y==0, 1])\nplt.scatter(X_gen[y==1, 0], X_gen[y==1, 1])\nplt.show()\n```\n\n## Support\n\n- Home: [https://github.com/HSE-LAMBDA/probaforms](https://github.com/HSE-LAMBDA/probaforms)\n- Documentation: [https://hse-lambda.github.io/probaforms](https://hse-lambda.github.io/probaforms)\n- For any usage questions, suggestions and bugs use the [issue page](https://github.com/HSE-LAMBDA/probaforms/issues), please.\n\n## Thanks to all our contributors\n\n<a href=\"https://github.com/HSE-LAMBDA/probaforms/graphs/contributors\">\n  <img src=\"https://contributors-img.web.app/image?repo=HSE-LAMBDA/probaforms\" />\n</a>\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Synthetic data generation for tables.",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://hse-lambda.github.io/probaforms/",
        "Homepage": "https://github.com/HSE-LAMBDA/probaforms",
        "Repository": "https://github.com/HSE-LAMBDA/probaforms"
    },
    "split_keywords": [
        "synthetic data",
        "augmentation",
        "generative models",
        "normalizing flows",
        "vae",
        "gan"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6e103d028a8e4da64e7cac0c7974d3a05f047bca55fa73ab0d34b00655ef5b5",
                "md5": "53c943f542e00d13e67830c92158186e",
                "sha256": "e0e54ee791f624d60ff9d06d683c3fa61daa5daec592fc44b0d1ef7ae33c0b66"
            },
            "downloads": -1,
            "filename": "probaforms-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "53c943f542e00d13e67830c92158186e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 16137,
            "upload_time": "2023-07-26T18:15:02",
            "upload_time_iso_8601": "2023-07-26T18:15:02.391975Z",
            "url": "https://files.pythonhosted.org/packages/f6/e1/03d028a8e4da64e7cac0c7974d3a05f047bca55fa73ab0d34b00655ef5b5/probaforms-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "03968ff5b784ce7cac023d1f3908d355d756427db844286243fa4cafbea88dba",
                "md5": "3b76bb34ae6cfab5f271fb1238b08ca5",
                "sha256": "335e6df440f2dfb39c6d4daa8419d6ec9a6276108d292f7d2cfa9d7894651de0"
            },
            "downloads": -1,
            "filename": "probaforms-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3b76bb34ae6cfab5f271fb1238b08ca5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 10984,
            "upload_time": "2023-07-26T18:15:04",
            "upload_time_iso_8601": "2023-07-26T18:15:04.274162Z",
            "url": "https://files.pythonhosted.org/packages/03/96/8ff5b784ce7cac023d1f3908d355d756427db844286243fa4cafbea88dba/probaforms-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-26 18:15:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "HSE-LAMBDA",
    "github_project": "probaforms",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "probaforms"
}
        
Elapsed time: 0.10688s