imbDRL
Imbalanced Classification with Deep Reinforcement Learning.
This repository contains an (Double) Deep Q-Network implementation of binary classification on unbalanced datasets using TensorFlow 2.3+ and TF Agents 0.6+. The Double DQN as published in this paper by van Hasselt et al. (2015) is using a custom environment based on this paper by Lin, Chen & Qi (2019).
Example scripts on the Mnist, Fashion Mnist, Credit Card Fraud and Titanic datasets can be found in the ./imbDRL/examples/ddqn/ folder.
Requirements
- Python 3.7+
- The required packages as listed in:
requirements.txt - Logs are by default saved in
./logs/ - Trained models are by default saved in
./models/ - Optional:
./data/folder located at the root of this repository.- This folder must contain
creditcard.csvdownloaded from Kaggle if you would like to use the Credit Card Fraud dataset. - Note:
creditcard.csvneeds to be split in a seperate train and test file. Please use the functionimbDRL.utils.split_csv
- This folder must contain
Getting started
Install via pip:
pip install imbDRL
Run any of the following scripts:
python .\imbDRL\examples\ddqn\train_credit.pypython .\imbDRL\examples\ddqn\train_famnist.pypython .\imbDRL\examples\ddqn\train_mnist.pypython .\imbDRL\examples\ddqn\train_titanic.py
TensorBoard
To enable TensorBoard, run tensorboard --logdir logs
Tests and linting
Extra arguments are handled with the ./tox.ini file.
- Pytest:
python -m pytest - Flake8:
flake8 - Coverage can be found in the generated
./htmlcovfolder
Appendix
The appendix can be found in the imbDRLAppendix repository.
Metadata
Release files for imbDRL 2021.1.26.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| imbDRL-2021.1.26.1.tar.gz | 17.3 kB | Without provenance | Details for imbDRL-2021.1.26.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| imbDRL-2021.1.26.1-py3-none-any.whl | Python 3 | none | any | Details for imbDRL-2021.1.26.1-py3-none-any.whl |
Total release size: 44.1 kB
Release files / imbDRL-2021.1.26.1.tar.gz
| Download URL | imbDRL-2021.1.26.1.tar.gz |
|---|---|
| Size | 17.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
af08f83c774ca3b99cfa2d0f370e7632b205845f7585926278ea9ae41eb08607
|
|
BLAKE2b-256 checksum How to use checksums |
38cb7ff4102a3de82530382fc5eaeb1af8d827ec0bf02cda0b5302546fffbfa2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
|
Release files / imbDRL-2021.1.26.1-py3-none-any.whl
| Download URL | imbDRL-2021.1.26.1-py3-none-any.whl |
|---|---|
| Size | 26.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a056095d182364f11bb39941db2964460d9d132bbc5aa441556415ea76836e0d
|
|
BLAKE2b-256 checksum How to use checksums |
11e37bf599b81bcdcc6ede6d0d430ba0560df712bb6e0c14294ddfc50d6c6997
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
|
Security for imbDRL 2021.1.26.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.