# 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"
}