Downloads · 30 days
8
25% of all-time downloads
gmarti/ordinalicl-tabdpt-turbo
ordinalicl-tabdpt-turbo is a tabular classification model from gmarti. Use it for the tabular classification task on the model card, and read the license before you ship it in a product. It is set up for ordinalicl_tabdpt. The card lists the license as cc-by-4.0.
OrdinalICL predicts ordered categories such as ratings, stages, or survey responses from small tabular datasets. It adds an ordinal target interface to the unchanged TabDPT-Turbo 1.2 backbone and returns a probability…
Downloads · 30 days
8
25% of all-time downloads
All-time downloads
32
Public
Repo size
6.8 MB
Likes
0
Public
Click a slice to open those files.
.safetensors6.8 MB · 99%
From the Hugging Face model README
OrdinalICL predicts ordered categories such as ratings, stages, or survey responses from small tabular datasets. It adds an ordinal target interface to the unchanged TabDPT-Turbo 1.2 backbone and returns a probability for every level in a user-declared scale.
The release contains the final three-seed ensemble evaluated in OrdinalICL: Making Tabular Foundation Models Ordinal-Native by Gautier Marti.
An ordinary classifier treats low, medium, and high as unrelated names.
OrdinalICL knows their declared order. Its correction module uses rank
coordinates and ordered boundary decisions, produces a coherent class
distribution, and averages predictions in both orientations of the scale for
exact order-reversal symmetry.
The 63.5M-parameter TabDPT backbone is unchanged. The release adds one shared 424,129-parameter nominal path and three independently trained ordinal correction modules of 424,129 parameters each.
Install the packaged inference client directly from this model repository:
python -m pip install "https://huggingface.co/gmarti/ordinalicl-tabdpt-turbo/resolve/main/ordinalicl_tabdpt-0.1.0-py3-none-any.whl"
Alternatively, clone the repository and install from source:
git clone https://huggingface.co/gmarti/ordinalicl-tabdpt-turbo
cd ordinalicl-tabdpt-turbo
python -m pip install .
Python 3.10 or newer is required. The dependency on tabdpt==1.2.0 is
intentional: it is the exact released backbone used for the primary model.
The paper also reports a cross-release replication on TabDPT-Turbo v1.3. This repository packages the primary v1.2 ensemble because it has the slightly lower real-benchmark mean and the two released ordinal models are statistically tied. The v1.3 replication uses a different upstream API and is retained in the paper's reproducibility material rather than silently substituted here.
The order supplied in classes is part of the task definition.
import numpy as np
from ordinalicl_tabdpt import OrdinalICLClassifier
X_context = np.array([
[-1.2, 0.1], [-0.8, 0.0], [-0.2, 0.2],
[0.2, 0.4], [0.7, 0.8], [1.2, 1.0],
], dtype=np.float32)
y_context = np.array(["low", "low", "medium", "medium", "high", "high"])
X_query = np.array([[-0.5, 0.1], [0.5, 0.6]], dtype=np.float32)
model = OrdinalICLClassifier.from_pretrained(
"gmarti/ordinalicl-tabdpt-turbo",
classes=["low", "medium", "high"],
device="cuda", # omit this argument to select CUDA when available
)
model.fit(X_context, y_context)
probabilities = model.predict_proba(X_query)
predicted_labels = model.predict(X_query)
expected_ranks = model.predict_expected_rank(X_query)
The first call downloads this small model repository and the exact upstream TabDPT-Turbo checkpoint. The checkpoint is pinned by revision and SHA-256. Later calls use the Hugging Face cache.
fit stores the in-context examples; it does not optimize parameters.
Probability columns follow the order given in classes. A level may be absent
from the context and must nevertheless remain in classes if it belongs to the
declared scale. See examples/missing_level.py for this case.
X must contain finite numeric values and 1 to 12 columns.classes must declare 3 to 10 unique levels from lowest to highest.classes.predict_proba returns one row per query and one column per declared level.The reported experiments use 32 labeled context rows. Behavior with different context sizes is not yet characterized.
Lower normalized ranked probability score (nRPS) is better. Within each matched experiment, the ordinal and nominal modules have the same backbone, parameter count, training tables, initialization, optimizer, schedule, and compute.
| Evaluation | Ordinal minus matched nominal nRPS | 95% interval |
|---|---|---|
| Synthetic confirmation, 3 seeds x 64k tables | -0.000454 | [-0.000624, -0.000293] |
| Synthetic replication, 2 fresh seeds x 128k tables | -0.000575 | [-0.000736, -0.000418] |
| Unified 40-family real benchmark, final 3-seed model | -0.000165 | [-0.000300, -0.000028] |
On the 40 real families, mean nRPS is 0.146894 for OrdinalICL, 0.147059 for the matched nominal adaptation, and 0.148968 for released TabDPT-Turbo. The family-level interval for OrdinalICL minus released TabDPT is [-0.003376, -0.000974].
The synthetic tests isolate the effect of target geometry under controlled training. The real benchmark measures transfer across 40 external dataset families. The paper and supplementary material contain the full protocols, per-family results, model survey, and statistical analysis.
The shared nominal path and each released ordinal correction module saw 128,000 synthetic ordered tables. Training varied the number of declared levels from 3 to 10, the number of features from 1 to 12, ordered mechanisms, imbalance, noise, missing context ranks, and distribution shift. Each table had 32 context rows. The TabDPT-Turbo backbone remained fixed. No Yelp, ESS, or other real benchmark row was used to train the released parameters.
weights/common_nominal.safetensors: shared nominal context path.weights/ordinal_residual_seed_*.safetensors: the three ordinal correction
modules used by the released ensemble. The historical filenames preserve the
experiment artifact names.config.json: architecture, inference defaults, provenance, and the exact
upstream revision.MANIFEST.json: hashes and tensor inventories.src/ordinalicl_tabdpt: inference implementation.VERIFICATION.md: conversion, equivalence, and GPU smoke-test record.Only tensor-only safetensors files are distributed. The 254 MB TabDPT base
checkpoint remains in its official repository and is downloaded separately.
From a clone of this repository:
python -m pip install ".[test]"
pytest
python scripts/smoke_test.py --device cuda
smoke_test.py downloads and verifies the pinned base checkpoint unless
--base-checkpoint points to an existing local copy.
This model is intended for research on numeric tabular tasks with a known, ordered categorical target. Suitable examples include ratings, disease stages, educational attainment, and ordered survey responses.
This repository contains no raw dataset rows, direct identifiers, row-level predictions, or restricted-use data.
WEIGHTS_LICENSE.md).LICENSE).THIRD_PARTY_NOTICES.md).@article{marti2026ordinalicl,
title = {OrdinalICL: Making Tabular Foundation Models Ordinal-Native},
author = {Marti, Gautier},
year = {2026},
url = {https://huggingface.co/gmarti/ordinalicl-tabdpt-turbo}
}
This citation will be updated with the assigned arXiv identifier when it is available.