The implementation concerns 4 folders which are:
- preprocess: generate probabilistic populations.
- estimators: population prediction models
- input: population dataset
- query: CMPP query
- Pytorch 1.8.1
- Numpy 1.19.2
- Pandas 1.1.3
- Sklearn 0.24.1
- Matplotlib 3.3.2
- networkx 2.8.4
You may use " pip3 install -r requirements.txt" to install the above libraries.
To generate probabilistic populations:
cd ./preprocess; nohup python3 -u generate_populations.py > population.log &
To train and test population prediction models (e.g., ME):
cd ../estimators/; nohup python3 -u ME.py --epochs 500 --batch_size 64 --time_interval five_mins > ME.log &
To run CMPP query (e.g., varying \theta):
cd ../query; java -cp CMPP-0.0.1-SNAPSHOT.jar experiments.Experiment_Pop
or you may run it in IDE (e.g., IntelliJ IDEA). Multiple csv files will be generated to record the f1-score, response time, and memory usage respectively.
time_interval: prediction time interval (i.e., \delta)
batch_size: the number of samples for back propagation in one pass
epochs: the number of training rounds
The whole datasets are very large and thus moved to Google Drive.