Closing the gap on tabular data with Fourier and Implicit Categorical Features
Organizations: Bitdefender, Romania
Abstract
While Deep Learning has demonstrated impressive results in applications on various data types, it continues to lag behind tree-based methods when applied to tabular data, often referred to as the last "unconquered castle" for neural networks. We hypothesize that a significant advantage of tree-based methods lies in their intrinsic capability to model and exploit non-linear interactions induced by features with categorical characteristics. In contrast, neural-based methods exhibit biases toward uniform numerical processing of features and smooth solutions, making it challenging for them to effectively leverage such patterns. We address this performance gap by using statistical-based feature processing techniques to identify features that are strongly correlated with the target once discretized. We further mitigate the bias of deep models for overly-smooth solutions, a bias that does not align with the inherent properties of the data, using Learned Fourier. We show that our proposed feature preprocessing significantly boosts the performance of deep learning models and enables them to achieve a performance that closely matches or surpasses XGBoost on a comprehensive tabular data benchmark.
Figures & tables
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Regression num | Regression cat | Classif num | Classif cat |
|---|---|---|---|---|
| xgb | 0.7558 | 0.7770 | 0.8298 | 0.7872 |
| xgb with ICF | 0.7502 | 0.7751 | 0.8271 | 0.7838 |
| Parameter | Range |
|---|---|
| eta | logUniform [1e-05, 0.7] |
| gamma | logUniform [1e-08, 7] |
| max depth | uniformInt [3, 11] |
| subsample | uniformInt [0.5, 1] |
| lambda | logUniform [1, 4] |
| alpha | logUniform [1e-08, 1e2] |
| Parameter | Range |
|---|---|
| depth | uniformInt [2, 8] |
| width | choice [128, 256, 512, 1024] |
| activation | choice [ReLU, LeakyReLU] |
| batch normalization | choice [True, False] |
| dropout | choice [0.0, 0.5, 0.6, 0.7, 0.8, 0.9] |
| Parameter | Range |
|---|---|
| num block | uniformInt [1,3] |
| num linear | uniformInt [1,3] |
| use norm | choice [True, False] |
| norm type | choice [batch, layer] |
| use do | choice [True, False] |
| do prob | choice [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] |
| Parameter | Range |
|---|---|
| opt name | AdamW |
| learning rate | uniform [0.001, 0.1] |
| eps | uniform [1e-08, 1e-04] |
| weight decay | uniform [0.0001, 0.6] |
| scheduler | CosineAnnealingWarmRestart |
| T 0 | choice [10, 20, 30, 50, 75, 100] |
| Parameter | Range |
|---|---|
| chi thresh | uniform [1e-50, 1e-03] |
| ANOVA thresh | uniform [1e-30, 1e-03] |
| mi thresh | uniform [0.75, 1.50] |
| min cardinality | choice [0, 10, 100] |
| max cardinality | choice [300, 500, 1000, 1500, 5000] |
Tabular Prediction
Tabular prediction uses structured rows and columns to forecast labels, values, risks, and outcomes from data.
See all 111 papers