Skip to main content

RISC, an open-source Python package data generator. RISC generates look-alike automobile insurance contracts based on the Quebec regulatory insurance form in French and English.

Project description

PyPI - Python Version PyPI Status PyPI Status Downloads

Formatting Linting Tests

codecov Codacy Badge Code style: black

pr welcome License: LGPL v3

Here is RISC.

RISC is an open-source Python package data generator. It generates look-alike automobile insurance contracts based on the Quebec regulatory insurance form in French and English.

Use RISC to generate look-a-like Quebec Car insurance forms (FPQ1) both in French and English. RISC simulation is deterministic; thus, it can generate an aligned insurance contract (i.e. same driver data) using an initial seed. RISC uses a pretrained TVAE model on a private dataset to generate look-a-like car protections. See our article here for more detail about RISC implementation and generated the RSICBAC dataset specification.

RISC was written in Python 3.9 and is compatible with the latest version of PyTorch and Python >= 3.8 (SciPy seems difficult to build on Python 3.11. Thus, we don't support Python 3.11 for now).

Getting Started:

from risc_generator import TVAEFPQ1ContractFaker

seed = 42
n = 10

# Let's sample 10 insurance English insurance contracts (default configuration).
en_fpq1_synthetic_dataset = TVAEFPQ1ContractFaker(seed=seed).sample_contracts(number_sample=n)

# Now, let's do it for French contracts.
fr_fpq1_synthetic_dataset = TVAEFPQ1ContractFaker(language="fr", seed=seed).sample_contracts(number_sample=n)

# Since we have used the same seed, both datasets share the same insuree information.

# Use our own TVAE model:
fpq1_synthetic_dataset = TVAEFPQ1ContractFaker(tvae_synthetic_data_faker_model_path="a_path_to_a_tvae_.pkl",
                                               language="fr", seed=seed).sample_contracts(number_sample=n)

# You can also create a new FPQ1ContractFaker using another type of model using our interface.

from risc_generator import FPQ1ContractFaker, ProtectionsFaker


class RuleBaseFPQ1ContractFaker(FPQ1ContractFaker):
    def __init__(self, language: str = "en", seed: int = 42):
        protection_faker = ProtectionsFaker(
            model=ARuleBaseProtectionFaker()
        )
        super().__init__(protection_faker, language, seed=seed)

Installation

Before installing RISC, you must have your environment's latest version of PyTorch.

  • Install the stable version of RISC:
pip install risc_generator
  • Install the latest development version of RISC:
pip install -U git+https://github.com/GRAAL-Research/risc.git@dev

Cite

Use the following for the article or dataset;

@misc{beaucheminrisc,
    title={{RISC: Generating Realistic Synthetic Bilingual Insurance
Contract}},
    author={David Beauchemin and Richard Khoury},
    year={2023},
    eprint={2304.04212},
    archivePrefix={arXiv}
}

and this one for the package;

@misc{risc,
    author = {David Beauchemin},
    title  = {{RISC: an open-source Python package data generator to generate look-alike automobile insurance contracts based on the Quebec regulatory insurance form in French and English}},
    year   = {2023},
    note   = {\url{https://github.com/GRAAL-Research/risc}}
}

Contributing to RISC

We welcome user input, whether it regards bugs found in the library or feature propositions! Make sure to have a look at our contributing guidelines for more details on this matter.

License

RISC is LGPLv3 licensed, as found in the LICENSE file.


Download files

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

Source Distribution

risc_generator-0.0.1.tar.gz (436.2 kB view hashes)

Uploaded Source

Built Distribution

risc_generator-0.0.1-py3-none-any.whl (688.5 kB view hashes)

Uploaded Python 3

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