Skip to main content


Auto-Sklong
Auto-Sklong

An Automated Machine Learning library for longitudinal classification built on GAMA and Scikit-longitudinal


💡 About The Project

Auto-Scikit-Longitudinal (Auto-Sklong) is an Automated Machine Learning (AutoML) library, developed upon the General Machine Learning Assistant (GAMA) framework, introducing a brand-new search space leveraging both Scikit-Longitudinal and Scikit-learn models to tackle the Longitudinal machine learning classification tasks.

For more scientific details, you can refer to our paper published by IEEE in the IEEE International Conference on Bioinformatics and Biomedicine (BIBM), 2024 Edition.

Auto-Sklong comes with various search methods to explore the search space introduced, such as Bayesian Optimisation. For more details, visit the official documentation.


🛠️ Installation

[!NOTE] Want to use Jupyter Notebook, Marimo, Google Colab, or JupyterLab? Head to the Getting Started section of the documentation for full instructions! 🎉

To install Auto-Sklong:

  1. ✅ Install the latest version:

    pip install auto-sklong
    

    To install a specific version:

    pip install auto-sklong==0.0.1
    

[!CAUTION] Auto-Sklong is currently compatible with Python versions 3.9 only. Ensure you have this version installed before proceeding.

This limitation stems from the Deep Forest dependency. Follow updates on this GitHub issue.

If you encounter errors, explore the installation section in the Getting Started of the documentation. If issues persist, open a GitHub issue.


🚀 Getting Started

Here's how to run AutoML on longitudinal data with Auto-Sklong:

from sklearn.metrics import classification_report
from scikit_longitudinal.data_preparation import LongitudinalDataset
from gama.GamaLongitudinalClassifier import GamaLongitudinalClassifier

# Load your dataset (replace 'stroke.csv' with your actual dataset path)
dataset = LongitudinalDataset('./stroke.csv')

# Set up the target column and split the data (replace 'class_stroke_wave_4' with your target)
dataset.load_data_target_train_test_split(
    target_column="class_stroke_wave_4",
)

# Set up feature groups (temporal dependencies)
# Use a pre-set for ELSA data or define manually (See docs for details)
dataset.setup_features_group(input_data="elsa")

# Initialise the AutoML system
automl = GamaLongitudinalClassifier(
    features_group=dataset.feature_groups(),
    non_longitudinal_features=dataset.non_longitudinal_features(),
    feature_list_names=dataset.data.columns.tolist(),
    max_total_time=3600  # Adjust time as needed (in seconds)
)

# Fit the AutoML system
automl.fit(dataset.X_train, dataset.y_train)

# Make predictions
y_pred = automl.predict(dataset.X_test)

# Print the classification report
print(classification_report(dataset.y_test, y_pred))

More detailed examples and tutorials can be found in the documentation!


📝 How to Cite

If you use Auto-Sklong in your research, please cite our paper:

@INPROCEEDINGS{10821737,
  author={Provost, Simon and Freitas, Alex A.},
  booktitle={2024 IEEE International Conference on Bioinformatics and Biomedicine (BIBM)}, 
  title={Auto-Sklong: A New AutoML System for Longitudinal Classification}, 
  year={2024},
  volume={},
  number={},
  pages={2021-2028},
  keywords={Pipelines;Optimization;Predictive models;Classification algorithms;Conferences;Bioinformatics;Biomedical computing;Automated Machine Learning;AutoML;Longitudinal Classification;Scikit-Longitudinal;GAMA},
  doi={10.1109/BIBM62325.2024.10821737}}

🚀 What's New Compared to GAMA?

We enhanced @PGijsbers' open-source GAMA initiative by introducing a brand-new search space designed specifically for tackling longitudinal classification problems. This search space is powered by our custom library, Scikit-Longitudinal (Sklong), enabling Combined Algorithm Selection and Hyperparameter Optimization (CASH Optimization).

Unlike GAMA or other existing AutoML libraries, Auto-Sklong offers out-of-the-box support for longitudinal classification tasks—a capability not previously available.

Search Space Viz.:

To better understand our proposed search space, refer to the visualisation below (read from left to right, each step being one new component to a final pipeline candidate configuration):

Search Space Visualization

While GAMA offers some configurability for search spaces, we improved its functionality to better suit our needs. You can find the details of our contributions in the following pull requests:

🔐 License

Auto-Sklong is licensed under the MIT License.

Metadata

Release files for Auto-Sklong 0.0.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Auto-Sklong 0.0.9
File Size Uploaded
auto_sklong-0.0.9.tar.gz 91.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Auto-Sklong 0.0.9
File Interpreter ABI Platform
auto_sklong-0.0.9-py3-none-any.whl Python 3 none any Details

Total release size: 222.3 kB

Release files / auto_sklong-0.0.9.tar.gz

Download URL auto_sklong-0.0.9.tar.gz
Size 91.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d5ec7ab83a9a794d5ababe9879db12322558f6e8495cb52c992f402ea2e7a2d4
BLAKE2b-256 checksum
How to use checksums
98d6d68f2481939cfcda241514ab629338f6d9fa0689f86e7688e51eb4a74ddc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.11

Release files / auto_sklong-0.0.9-py3-none-any.whl

Download URL auto_sklong-0.0.9-py3-none-any.whl
Size 130.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76648a64526e273bb84a9c2fceb8d719b2332f3f9e0050958ac6c7ffb405ee54
BLAKE2b-256 checksum
How to use checksums
4e0ef1f9d6c4f14c27511fe9331b937d42e031cecac7b1cd7151324cafaecf32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.11

Release history Release notifications | RSS feed

This release

0.0.9 This release

2 release files

0.0.8

2 release files

0.0.7

1 release file

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page