Skip to content

Commit 4427bff

Browse files
committed
docs: update overview add when-to-use table
1 parent 7ee02b1 commit 4427bff

1 file changed

Lines changed: 27 additions & 39 deletions

File tree

docs/getting_started/overview.md

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Overview
22

3-
DeepTab brings modern deep learning to tabular data with a clean scikit-learn interface. No boilerplate PyTorch code, no manual data loaders, just `fit`, `predict`, and `evaluate`.
3+
DeepTab is a library for deep learning on tabular data with a scikit-learn compatible interface. It handles feature preprocessing, batching, and the training loop, so the workflow stays `fit`, `predict`, and `evaluate` instead of hand-written PyTorch code and data loaders. Every architecture supports three tasks: classification, regression, and distributional regression for uncertainty quantification.
44

55
## What is DeepTab?
66

@@ -14,15 +14,7 @@ DeepTab provides 15 stable neural architectures for tabular data:
1414
| **Tree-inspired** | NODE, ENODE, NDTF | Differentiable soft-tree structures |
1515
| **General baselines** | MLP, TabM, TabulaRNN | Dense, parameter-efficient ensemble, and recurrent |
1616

17-
**Plus 3 experimental models:** ModernNCA, Trompt, Tangos
18-
19-
```{important}
20-
**All models support three tasks:**
21-
22-
- Classification (binary/multiclass)
23-
- Regression (continuous)
24-
- Distributional regression (uncertainty quantification)
25-
```
17+
**Plus 3 experimental models:** ModernNCA, Tangos, Trompt
2618

2719
**Example:**
2820

@@ -69,55 +61,51 @@ search = GridSearchCV(FTTransformerClassifier(), param_grid, cv=5)
6961
search.fit(X, y)
7062
```
7163

72-
### Smart Defaults, Full Control
64+
### Defaults and Configuration
7365

74-
```{note}
75-
**Automatic preprocessing:**
66+
With no configuration, DeepTab detects feature types, encodes and scales them, and imputes missing values during preprocessing. Training runs on a GPU when one is available, with early stopping and checkpointing enabled.
7667

77-
- Feature type detection (numerical/categorical)
78-
- Missing value handling
79-
- Scaling and encoding
80-
- GPU utilization
81-
- Early stopping with checkpointing
82-
```
83-
84-
**Configure when needed:**
68+
Each layer is configurable when you need it. Architecture, preprocessing, and training settings live in separate config objects, so you can change one without touching the others:
8569

8670
```python
8771
from deeptab.configs import ResNetConfig, PreprocessingConfig, TrainerConfig
72+
from deeptab.models import ResNetClassifier
8873

8974
model = ResNetClassifier(
9075
model_config=ResNetConfig(d_model=128),
9176
preprocessing_config=PreprocessingConfig(numerical_preprocessing="quantile"),
92-
trainer_config=TrainerConfig(lr=1e-3, batch_size=256)
77+
trainer_config=TrainerConfig(lr=1e-3, batch_size=256),
9378
)
9479
```
9580

96-
### Production-Ready
81+
### Built for real datasets
9782

98-
DeepTab targets the data encountered in practice, not only clean benchmarks:
83+
Beyond the defaults above, DeepTab handles details that come up with real data:
9984

100-
- Mixed numerical, categorical, and precomputed embedding features
85+
- Mixed numerical, categorical, and precomputed embedding features in a single model
10186
- Automatic stratified splits for classification, preserving class proportions
102-
- Built-in imputation of missing values during preprocessing
103-
- Mini-batch training that scales to large datasets
104-
- Single-device GPU acceleration by default, with other Lightning strategies (including multi-device training) available by forwarding trainer arguments to `fit()`
87+
- Mini-batch training that scales to datasets larger than a single batch
88+
- Multi-device and other Lightning training strategies, enabled by forwarding trainer arguments to `fit()`
10589

10690
## When to Use DeepTab
10791

108-
DeepTab is well suited to:
109-
110-
- Tabular data with a mix of numerical and categorical features
111-
- Datasets large enough for neural networks to be competitive, typically from a few thousand samples upward
112-
- Problems with complex feature interactions
113-
- Applications that require calibrated uncertainty through distributional regression
114-
- Workflows that integrate with the scikit-learn ecosystem
92+
DeepTab and gradient-boosted trees (XGBoost, LightGBM, CatBoost) are complementary tools. The table below shows where each tends to be the stronger starting point.
11593

116-
Gradient-boosted trees (XGBoost, LightGBM, CatBoost) remain a strong baseline and are often preferable for:
94+
| Situation | Stronger starting point |
95+
| -------------------------------------------------------------------------- | --------------------------------- |
96+
| Mixed numerical and categorical features | DeepTab or gradient-boosted trees |
97+
| A few thousand samples or more | DeepTab |
98+
| Complex feature interactions | DeepTab |
99+
| Calibrated uncertainty through distributional regression | DeepTab (`*LSS` variants) |
100+
| Classification, regression, and distributional models behind one interface | DeepTab |
101+
| Integration with scikit-learn pipelines and `GridSearchCV` | DeepTab or gradient-boosted trees |
102+
| Small datasets where overfitting is a risk | Gradient-boosted trees |
103+
| Data that does not fit in memory | Gradient-boosted trees |
104+
| Latency-critical inference | Gradient-boosted trees |
117105

118-
- Small datasets, where neural networks are prone to overfitting
119-
- Data that does not fit in memory
120-
- Latency-critical inference, where tree ensembles are typically faster
106+
```{note}
107+
These are general guidelines, not strict rules. Results depend on the dataset, so when performance matters it is worth benchmarking DeepTab against a gradient-boosted baseline.
108+
```
121109

122110
## Next Steps
123111

0 commit comments

Comments
 (0)