DM-Gym: A set of environments for developing reinforcement learning agents for Data Mining problems.
Project description
DM-Gym
Data Mining Gym Environment for Reinforcement Learning
Installation
You can download the git repository directly and keep the dm_gym folder inside your project folder.
You could also use the following steps to install DM-Gym in your system to be accessible anywhere:
git clone https://github.com/ashwin-M-D/DM-Gym.git
cd DM-Gym
pip install -e
The package is also in the pypi repository so it can be installed using pip.
pip install dm-gym
Testing
To test the environment using the test codes provided, you need to have ray installed. Please use the conda environment file provided to setup your environment. Then, install DM-Gym as mentioned above and proceed with running the python notebooks provided. All of this can be done as follows.
## Installing DM-Gym
git clone https://github.com/ashwin-M-D/DM-Gym.git
cd DM-Gym
pip install -e
## Creating the conda environment
cd testing
cd conda_envs
conda env create -f dmgym_environment.yml
## Activate conda environment and cd to the folder containing the experiment files.
conda activate myenv_dmgym_testing
cd ..
cd experiments
Available Environments
-
Clustering:
All these environments involve records which arrive in a random order and they are classified into one of k clusters. The value of k is predefined similar to k-means clustering.
Basically the input / state space is a single record from the dataset and the output is a discreet variable which is an integer between 0 and k-1, each specifying a specific cluster.
-
Clustering-v0: Reward function is negative of log(db-index)
This is a poor performing environment.
-
Clustering-v1: Reward function is based on both the distance and also the db-index.
This performs better than clustering-v0. However, it is suggested to use one of the other 2 clustering environments.
-
Clustering-v2: Uses a different reward system which is either p-1 or p at each step. Based on the paper "A Reinforcement Learning Approach to Online Clustering" [1]. Please use a low gamma value with this environment for optimal results.
-
Clustering-v3: This has the best performance among all the clustering environments. It converts the problem into a classification problem internally. However, to showcase true capabilities of RL, this should not be used. Use a low gamma value with this environment.
-
Environments planned for the future
- Classification
- Linear Regression
Notes:
-
See Testing folder to see examples of each of the environments and their outputs
-
Documentation for all available functions will be made available soon.
References
-
Likas, A., 1999. A reinforcement learning approach to online clustering. Neural computation, 11(8), pp.1915-1932. PDF
-
Hubbs, C.D., Perez, H.D., Sarwar, O., Sahinidis, N.V., Grossmann, I.E. and Wassick, J.M., 2020. OR-Gym: A Reinforcement Learning Library for Operations Research Problems. arXiv preprint arXiv:2008.06319. PDF GitHub
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.