Kumo Tabular
Kumo Tabular predicts a target column for new rows from labeled rows of the same table, in one forward pass, with no training or tuning. It handles classification and regression on numerical and categorical features.
At a Glance
When to Use It
- Your examples are rows of one table, and the target is a label or a number.
- You want a strong baseline without hyperparameter tuning or feature engineering.
- Choose Kumo Relational instead when the signal lives in other tables linked by keys.
How It Works
- Cell embedding. Numerical and categorical cells use separate learned Fourier features and projections, plus a missingness projection.
- Table encoder. Column-wise induced set attention and row-wise attention alternate. Learnable readout tokens compress each row into a fixed-size representation.
- In-context learning. A transformer over rows lets each query row attend to the labeled context rows and predicts class logits or quantiles.
Kumo Tabular was pretrained only on synthetic tables generated from structural causal models, with context sizes up to 60,000 rows and up to 100 columns.
Example
The Quickstart runs Kumo Tabular end to end on CPU. The core call is:
Choose a Size
Inputs and Limits
- One target column per call. Related tables are not accepted.
- One forward pass covers up to 10 classes; SDM extends this to any number of classes with error-correcting output codes.
- The default recipe keeps at most 500 feature columns per estimator, after shuffling columns.
- Accuracy may degrade on tables far beyond the pretraining ranges, or when query rows come from a different distribution than context rows.
- Text, datetime, and other column types need recipe processors that turn them into numerical features.
Key Parameters
Fine-Tuning
Kumo Tabular supports full fine-tuning through a differentiable forward pass. See the fine-tuning guide and examples/tabular/finetune.py.