Generating spiking time series with Generative Adversarial Networks: an application on banking transactions
Master thesis project for my Master in Artificial Intelligence at UvA (University of Amsterdam).
This project aims at generating spiking time series patterns using Generative Adversarial Networks, and compare the results against own baselines.
The master_thesis/generative_models
folder contains the generative models used, along with the scripts for metrics calculation in master_thesis/comparison_metrics
.
The datasets
folder contains the datasets used (at the moment only the Berka dataset
Results are saved into the outputs
folders, divided into subfolders for each model.
utils.py
contains meta-variables used at training time.
This project is intended to be self-contained, with the only exception being the dataset that is downloaded automatically.
Before starting, run the setup.py
script, that will automatically download and parse the dataset, creating ready-to-use .npy files.
To install the python environment for this project, refer to the Pipenv setup guide
As the Java server is now integrated in the project, there is no need to start it separately.
The train_model.py
file contains all the code necessary to train a generative model on the berka dataset. The model type is passed as an argument.
The outputs of the model are stored in the outputs/model_name
folder.
First, move the output folder for each model in the comparison_metrics/comparison_datasets
folder, then run the evaluate_datasets.py
script in the comparison_metrics
folder.