jsyoon0823 / VIME

Codebase for VIME: Extending the Success of Self- and Semi-supervised Learning to Tabular Domain - NeurIPS 2020
148 stars 28 forks source link

Codebase for "VIME: Extending the Success of Self- and Semi-supervised Learning to Tabular Domain"

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

Reference: Jinsung Yoon, Yao Zhang, James Jordon, Mihaela van der Schaar, "VIME: Extending the Success of Self- and Semi-supervised Learning to Tabular Domain," Neural Information Processing Systems (NeurIPS), 2020.

Paper Link: TBD

Contact: jsyoon0823@gmail.com

This directory contains implementations of VIME framework for self- and semi-supervised learning to tabular domain using MNIST dataset.

To run the pipeline for training and evaluation on VIME framwork, simply run python3 -m main_vime.py or see jupyter-notebook tutorial of VIME in tutorial_vime.ipynb.

Note that any model architecture can be used as the encoder and predictor models such as CNNs.

Code explanation

(1) data_loader.py

(2) supervised_model.py

(3) vime_self.py

(4) vime_semi.py

(5) main_vime.py

(6) vime_utils.py

Command inputs:

Note that hyper-parameters should be optimized for different datasets.

Example command

$ python3 main_vime.py --iterations 10 --label_no 1000 --model_name xgboost
--p_m 0.3 --alpha 2.0 --K 3 --beta 1.0 --label_data_rate 0.1 

Outputs