Skip to content

Releases: basf/mamba-tabular

Release v1.5.0

14 Apr 22:09
28b5456
Compare
Choose a tag to compare

This release includes significant updates to the mambular package, focusing on integrating the pretab library for preprocessing, updating the version, and removing deprecated preprocessing modules. The most important changes include updating the documentation, modifying imports to use pretab, and removing old preprocessing code.

Documentation Updates:

  • README.md: Updated preprocessing section to mention the use of pretab and provided links for further information.
  • docs/api/preprocessing/Preprocessor.rst: Removed the Preprocessor class documentation.
  • docs/api/preprocessing/index.rst: Removed the preprocessing module documentation.

Codebase Updates:

  • mambular/__version__.py: Updated the version from 1.4.0 to 1.5.0.
  • mambular/models/utils/sklearn_base_lss.py and mambular/models/utils/sklearn_parent.py: Changed imports from mambular.preprocessing to pretab.preprocessor and updated related code. [1] [2]

Removal of Deprecated Code:

  • mambular/preprocessing/basis_expansion.py, mambular/preprocessing/ple_encoding.py, and mambular/preprocessing/__init__.py: Removed old preprocessing classes and methods. [1] [2] [3]

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

Release 1.4.0

24 Mar 11:01
5db5426
Compare
Choose a tag to compare

What's Changed

  • Hotfix/docs by @mkumar73 in #247
  • Modernnca by @AnFreTh in #251
    * Added MonderNCA and complete logic of using labels during training and inference into helper classes.
  • Data check by @AnFreTh in #252
    * Introduced sanity checks in preprocessor module.
  • Develop by @AnFreTh in #253

Full Changelog: v1.3.2...v1.4.0

Release 3.1.2

19 Mar 17:40
0d7be4a
Compare
Choose a tag to compare

Fix error for binary classification loss function in sklearninterface

Release v1.3.1

17 Mar 12:48
01a7212
Compare
Choose a tag to compare

This release (v1.3.1) introduces the new Tangos model to the Mambular library, along with updates to the documentation, versioning, and configuration files. The most important changes include adding the Tangos model, updating the version number, and modifying the lightning_wrapper.py and pretraining.py files to use the new model.

New Model Addition:

  • mambular/base_models/tangos.py: Added the Tangos model, which is an MLP model with optional GLU activation, batch normalization, layer normalization, and dropout, including a penalty term for specialization and orthogonality.
  • mambular/base_models/__init__.py: Included the Tangos model in the module imports and __all__ list.
  • mambular/configs/tangos_config.py: Added configuration class for the Tangos model with predefined hyperparameters.

Documentation Updates:

  • README.md: Updated to include the new Tangos model in the list of new models and added a description of the model. [1] [2]

Version Update:

  • mambular/__version__.py: Incremented the version number from 1.3.0 to 1.3.1 to reflect the new changes.

Code Refactoring:

  • mambular/base_models/utils/lightning_wrapper.py: Replaced instances of base_model with estimator to accommodate the new Tangos model. [1] [2] [3] [4] [5] [6] [7] [8] [9]
  • mambular/base_models/utils/pretraining.py: Replaced instances of base_model with estimator to reflect the new model structure. [1] [2] [3] [4]

Configuration Updates:

  • mambular/configs/__init__.py: Added DefaultTangosConfig to the module imports and __all__ list.
  • mambular/models/__init__.py: Included TangosClassifier, TangosLSS, and TangosRegressor in the module imports and __all__ list.

v1.3.0

13 Mar 10:36
180f126
Compare
Choose a tag to compare

What's Changed in v1.3.0

This Release includes several changes to the mambular package, focusing on refactoring imports and enhancing the functionality of the BaseModel and TaskModel classes. The most important changes include moving BaseModel and TaskModel to a new utils directory, updating import paths accordingly, and adding new methods for pretraining embeddings. Additionally, two new models, Trompt and AutoInt are included in v1.3.0

Refactoring imports:

  • Moved BaseModel and TaskModel to mambular/base_models/utils/ and updated import paths in all relevant files. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

Include new models

  • New model architectures TromptandAutoIntare now included into mambular.

Introduce pretrainingoption:

  • Added pertaining functionality for all models that use encoders.

Include dilation to 1DConv layers in Mambular/TabulaRNN

Enhancements to BaseModel:

  • Added new methods for embedding management, including embedding_parameters, encode_features, get_embedding_state_dict, and load_embedding_state_dict.
  • Modified the encode method to support gradient computation and shuffling embeddings.

Enhancements to TaskModel:

  • Added a new method pretrain_embeddings for pretraining embeddings using contrastive learning.
  • Introduced helper methods get_knn and contrastive_loss to support the new pretraining functionality.

Miscellaneous changes:

  • Added print statements for debugging and logging purposes. [1] [2]
  • Minor formatting changes for code readability.

Release v1.2.0

17 Feb 09:59
25b88a3
Compare
Choose a tag to compare

Release v1.2.0

This update enhances the preprocessing and embedding layers in the mambular package, introducing several key improvements:

  • Feature-Specific Preprocessing: The Preprocessor class now includes a feature preprocessing dictionary, enabling different preprocessing strategies for each feature.
  • Support for Unstructured Data: The model can now handle a combination of tabular features and unstructured data, such as images and text.
  • Latent Representation Generation: It is now possible to generate latent representations of the input data, improving downstream modeling and interpretability.

These changes enhance flexibility and extend mambular's capabilities to more diverse data modalities.

Preprocessing improvements:

  • mambular/preprocessing/preprocessor.py: Added feature_preprocessing parameter to allow custom preprocessing techniques for individual columns. Updated the fit method to use this parameter for both numerical and categorical features. [1] [2] [3] [4] [5]

Embedding layer updates:

  • mambular/arch_utils/layer_utils/embedding_layer.py: Modified the forward method to handle different dimensions of categorical embeddings and ensure they are properly processed. [1] [2]

Allow unstructured data as inputs:

  • mambular/arch_utils/layer_utils/embedding_layer.py: Modified the forward method to handle num_features, cat_features and pre-embedded unstructured data. [1] [2]

Get latent representation of tables

  • mambular/base_models/basemodel.py: Updated the encode method to accept a single data parameter instead of separate num_features and cat_features parameters. [1] [2]

Release v1.1.0

03 Jan 18:53
648d029
Compare
Choose a tag to compare

What's Changed

🚀 New Models

  • SAINT: Improve neural networks via Row Attention and Contrastive Pre-Training

Continuous improvements and bug fixes

  • Deprecated setup.py for pyproject.toml
  • Formatting and linting
  • Pre-commit hooks
  • Documentation update
  • Bug fixes

Contributors:

Full Changelog: v1.0.0...v1.1.0

New Version Release 1.0.0

04 Dec 16:05
0a829f6
Compare
Choose a tag to compare

v1.0.0: Major Update for Mambular

This release marks a significant upgrade to Mambular, introducing new models, enhanced functionality, and improved efficiency. Below is an overview of the key changes:


🚀 New Models

  • TabM: A cutting-edge tabular deep learning model optimized for performance and flexibility.
  • NODE: Incorporates Neural Oblivious Decision Ensembles for more robust handling of tabular data.
  • NDTF: Neural Decision Tree Forest, combining decision tree logic with deep learning capabilities.
  • TabulaRNN: A recurrent neural network tailored for tabular tasks, with configurable options to use GRU or LSTM cells for sequence modeling.

🎛️ Hyperparameter Optimization

  • Integrated support for hyperparameter optimization:
    • Built-in Bayesian optimization for more advanced tuning.
  • Fully compatible with Scikit-learn's optimization framework, enabling seamless integration for all models.

Efficiency Improvements

  • Leveraging the new mamba-ssm package for a more efficient implementation of the Mamba framework, ensuring faster runtime and reduced memory usage.

🛠️ Enhanced Preprocessing

  • Expanded preprocessing options for greater control over feature transformations.
  • Improved feature information handling to better accommodate various dataset types and structures.

🧬 Improved Embedding Layers

  • New embedding layers, including PLR.
  • Customizable activation functions for enhanced flexibility in embedding generation.

This release sets the foundation for continued innovation in tabular deep learning. Feedback and contributions are welcome!

Release v0.2.4

21 Oct 15:03
e65e88b
Compare
Choose a tag to compare

What's Changed

  • sklearn base_modules: Modified conditional checks to use if X_val is not None instead of if X_val in the build_model and fit methods. by @AnFreTh in #142
  • mambular/data_utils/datamodule.py: Ensured that keys are converted to strings when constructing cat_key, binned_key, and num_key in the setup and preprocess_test_data methods. by @AnFreTh in #142

Full Changelog: v0.2.3...v0.2.4

Release v0.2.3

19 Sep 08:40
48d22da
Compare
Choose a tag to compare
  • Including Quantile Regression
  • Fixing param count bug in sklearnbaselss