PyTorch implementation of ICLR'23 paper GOGGLE: Generative Modelling for Tabular Data by Learning Relational Structure. Authors: Tennison Liu, Zhaozhi Qian, Jeroen Berrevoets, Mihaela van der Schaar
Generative modelling of tabular data entails a particular set of challenges, including heterogeneous relationships, limited number of samples, and difficulties in incorporating prior knowledge. This work introduces GOGGLE, a generative model that learns a relational structure underlying tabular data to better model variable dependencies, to introduce regularization, and to incorporate prior knowledge.
Key components of GOGGLE Framework. 1. Simultaneous learning of relational structure $G\phi$ and $F\theta$ s.t. generative process respects relational structure. 2. Injection of prior knowledge and regularization on variable dependence. 3. Synthetic sample generated using $\hat{x} = F\theta(z; G\phi) \:, \: z\sim p_Z$.
To setup the virtual environment and necessary packages, please run the following commands:
$ conda create --name goggle_env python=3.8
$ conda activate goggle_env
Clone this repository and navigate to the root directory:
$ git clone https://github.com/tennisonliu/goggle.git
$ cd goggle
Install the required modules:
$ pip install -r requirements.txt
Place dataset in exps/data
, and see experiment notebooks with instructions in:
exps/synthetic_data.
for synthetic data generationexps/prior_knowledge/.
for incorporating prior knowledge, andexps/ablation/.
for ablation settings.If our paper or code helped you in your own research, please cite our work as:
@inproceedings{liu2023goggle,
title={GOGGLE: Generative Modelling for Tabular Data by Learning Relational Structure},
author={Liu, Tennison and Qian, Zhaozhi and Berrevoets, Jeroen and van der Schaar, Mihaela},
booktitle={International Conference on Learning Representations},
year={2023}
}