tabular_ensemble
A framework to evaluate various models for tabular regression and classification tasks. The package integrates 25 machine learning (including deep learning) models for tabular prediction tasks from the following well-established model bases:
autogluon"LightGBM","CatBoost","XGBoost","Random Forest","Extremely Randomized Trees","K-Nearest Neighbors","Linear Regression","Neural Network with MXNet","Neural Network with PyTorch","Neural Network with FastAI".
pytorch_widedeep"TabMlp","TabResnet","TabTransformer","TabNet","SAINT","ContextAttentionMLP","SelfAttentionMLP","FTTransformer","TabPerceiver","TabFastFormer".
pytorch_tabular"Category Embedding","NODE","TabNet","TabTransformer","AutoInt","FTTransformer".
You are able to implement your own models, data processing pipelines, and datasets under the flexible and
well-tested framework for consistent comparisons with baseline models, which is even easier when your own model is
based on pytorch.
Supported features for all model bases:
- Data processing
- Data splitting (training/validation/testing sets)
- Data imputation
- Data filtering
- Data scaling
- Data augmentation
- Feature augmentation
- Feature selection
- etc.
- Multi-modal data
- Loading UCI datasets
- Data/result analysis
- Leaderboard
- Box plot
- Pair plot
- Pearson correlation
- Partial dependency plot (with bootstrapping)
- Feature importance (Permutation and SHAP)
- etc.
- Building models upon other trained models
pytorch_lightning-based training forpytorchmodels- Gaussian-process-based Bayesian hyperparameter optimization
- Cross-validation (including continuing from a cross-validation checkpoint)
- Saving, loading, and migrating models
The package stands on the shoulder of the giants:
- scikit-learn
- PyTorch
- PyTorch Lightning
- etc. (See
requirements.txt)
Installation/Usage
A full documentation is available here. For a quick start:
tabular_ensemblecan be installed using pypi by running the following command:
pip install tabensemb[torch]
Please use pip install tabensemb instead if you already have torch>=1.12.0 installed. Use pip install tabensemb[test] if you want to run unit tests.
To install from source,
pip install -e .[torch]
- (Optional) Run unit tests after installed
tabensemb[test]:
cd test
pytest .
- Place your
.csvor.xlsxfile in adatasubfolder (e.g.,data/sample.csv), and generate a configuration file in aconfigssubfolder (e.g.,configs/sample.py), containing the following content
cfg = {
"database": "sample",
"continuous_feature_names": ["cont_0", "cont_1", "cont_2", "cont_3", "cont_4"],
"categorical_feature_names": ["cat_0", "cat_1", "cat_2"],
"label_name": ["target"],
}
- Run the experiment using the configuration and the data using
python main.py --base sample --epoch 10
where --base refers to the configuration file, and additional arguments (such as --epoch here) refer to those in config/default.py.
See the documentation pages for details.
Citation
If you use this repository, please cite us as:
(Will be updated after released on arXiv or published)
Metadata
Release files for tabensemb 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tabensemb-0.3.tar.gz | 152.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tabensemb-0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 295.5 kB
Release files / tabensemb-0.3.tar.gz
| Download URL | tabensemb-0.3.tar.gz |
|---|---|
| Size | 152.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43451b7dd05814cd2e66a9c096cb4fcfd5cad4d4dd0641507fb5482c739b4a71
|
|
BLAKE2b-256 checksum How to use checksums |
523795a68e69f1ee69efd354212b90e8d685f91648cac2f4aa8548afedc72b96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 22, 2025.
Transparency logRelease files / tabensemb-0.3-py3-none-any.whl
| Download URL | tabensemb-0.3-py3-none-any.whl |
|---|---|
| Size | 142.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b14d2518284028fce70f20b95f7e8526af540951df65946e763314d5e5479a2
|
|
BLAKE2b-256 checksum How to use checksums |
cc4a3281efae6c4837da2549c4f7fbbd5039e31cba478fe14dd0a5ce621ef711
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 22, 2025.
Transparency log