/GAIN

Codebase for Generative Adversarial Imputation Networks (GAIN) - ICML 2018

Primary LanguagePython

Codebase for "Generative Adversarial Imputation Networks (GAIN)"

Authors: Jinsung Yoon, James Jordon, Mihaela van der Schaar

Paper: Jinsung Yoon, James Jordon, Mihaela van der Schaar, "GAIN: Missing Data Imputation using Generative Adversarial Nets," International Conference on Machine Learning (ICML), 2018.

Paper Link: http://proceedings.mlr.press/v80/yoon18a/yoon18a.pdf

Contact: jsyoon0823@gmail.com

This directory contains implementations of GAIN framework for imputation using two UCI datasets.

To run the pipeline for training and evaluation on GAIN framwork, simply run python3 -m main_letter_spam.py.

Note that any model architecture can be used as the generator and discriminator model such as multi-layer perceptrons or CNNs.

Command inputs:

  • data_name: letter or spam
  • miss_rate: probability of missing components
  • batch_size: batch size
  • hint_rate: hint rate
  • alpha: hyperparameter
  • iterations: iterations

Example command

$ python3 main_letter_spam.py --data_name spam 
--miss_rate: 0.2 --batch_size 128 --hint_rate 0.9 --alpha 100
--iterations 10000

Outputs

  • imputed_data_x: imputed data
  • rmse: Root Mean Squared Error