Better by Default: Strong Pre-Tuned MLPs and Boosted Trees on Tabular Data

David Holzmüller, Léo Grinsztajn, Ingo Steinwart
7/5/2024
cs.LG

No official code found. Best implementation: dholzmueller/pytabkit (397 stars, Apache-2.0, last commit 2026-01-06).

Abstract

For classification and regression on tabular data, the dominance of gradient-boosted decision trees (GBDTs) has recently been challenged by often much slower deep learning methods with extensive hyperparameter tuning. We address this discrepancy by introducing (a) RealMLP, an improved multilayer perceptron (MLP), and (b) strong meta-tuned default parameters for GBDTs and RealMLP. We tune RealMLP and the default parameters on a meta-train benchmark with 118 datasets and compare them to hyperparameter-optimized versions on a disjoint meta-test benchmark with 90 datasets, as well as the GBDT-friendly benchmark by Grinsztajn et al. (2022). Our benchmark results on medium-to-large tabular datasets (1K--500K samples) show that RealMLP offers a favorable time-accuracy tradeoff compared to other neural baselines and is competitive with GBDTs in terms of benchmark scores. Moreover, a combination of RealMLP and GBDTs with improved default parameters can achieve excellent results without hyperparameter tuning. Finally, we demonstrate that some of RealMLP's improvements can also considerably improve the performance of TabR with default parameters.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

ML models + benchmark for tabular data classification and regression

39739Shell, PythonJul 4, 20249 months agoApache-2.0
deep-learningdeep-neural-networksdeeplearningmachine-learningtabular+4 more

Similar Papers

Cite this paper

@article{holzmller2024better,
  title  = {Better by Default: Strong Pre-Tuned MLPs and Boosted Trees on Tabular Data},
  author = {David Holzmüller and Léo Grinsztajn and Ingo Steinwart},
  year   = {2024},
  eprint = {2407.04491},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2407.04491},
  url    = {http://arxiv.org/abs/2407.04491v3},
  journal = {NEURIPS 2024 2024}
}

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/2407.04491.svg)](https://codeofpaper.com/paper/2407.04491)

Discussion