Generating and Imputing Tabular Data via Diffusion and Flow-based Gradient-Boosted Trees

Alexia Jolicoeur-Martineau, Kilian Fatras, Tal Kachman
9/18/2023
cs.LG

Official code: atong01/conditional-flow-matching (2,592 stars, MIT, PyTorch, last commit 2026-04-20). 1 more implementation below.

Abstract

Tabular data is hard to acquire and is subject to missing values. This paper introduces a novel approach for generating and imputing mixed-type (continuous and categorical) tabular data utilizing score-based diffusion and conditional flow matching. In contrast to prior methods that rely on neural networks to learn the score function or the vector field, we adopt XGBoost, a widely used Gradient-Boosted Tree (GBT) technique. To test our method, we build one of the most extensive benchmarks for tabular data generation and imputation, containing 27 diverse datasets and 9 metrics. Through empirical evaluation across the benchmark, we demonstrate that our approach outperforms deep-learning generation methods in data generation tasks and remains competitive in data imputation. Notably, it can be trained in parallel using CPUs without requiring a GPU. Our Python and R code is available at https://github.com/SamsungSAILMontreal/ForestDiffusion.

View on arXivView PDF

Code Implementations(2)

Generating and Imputing Tabular Data via Diffusion and Flow XGBoost Models

18318R, HTMLSep 19, 20232 years ago
PyTorchMIT

TorchCFM: a Conditional Flow Matching library

2,592223Shell, PythonJan 30, 20236 months agoMIT
continuous-normalizing-flowsoptimal-transportpytorch

Similar Papers

Cite this paper

@article{jolicoeurmartineau2023generating,
  title  = {Generating and Imputing Tabular Data via Diffusion and Flow-based Gradient-Boosted Trees},
  author = {Alexia Jolicoeur-Martineau and Kilian Fatras and Tal Kachman},
  year   = {2023},
  eprint = {2309.09968},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2309.09968v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2309.09968.svg)](https://codeofpaper.com/paper/2309.09968)

Discussion