Skip to main content

Lightweight toolkit for ML feature selection, calibration, voting optimization and reproducibility

Project description

🧰 mltune

Unit Tests Integration Tests Release

mltune

Flexible ML hyperparameter tuning and feature selection toolkit
Supports scikit-learn models and optionally XGBoost / LightGBM.


✨ Features

  • Auto-tune hyperparameters (GridSearch)
  • Optional greedy backward feature elimination
  • Modular Wrapper classes for scikit-learn, XGBoost, LightGBM
  • Unit & integration tested, Python 3.12+
  • Lightweight, simple API

📦 Installation

Install base (requires Python ≥3.8):

pip install mltune

For optional XGBoost / LightGBM support:

pip install mltune[xgboost,lgbm]

🚀 Example usage

from mltune.wrappers import RandomForestModelWrapper

# Load or prepare data
X, y, X_test = load_data()

# Initialize wrapper with all features
wrapper = RandomForestModelWrapper(features=list(X.columns))

# Auto-tune hyperparameters & feature set
wrapper.autotune(
    X, y,
    hyperparam_initial_info={
        'n_estimators': [90, 95, 100, 105, 110],
        'max_depth': [9, 10, 11]
    },
    feature_selection_strategy="greedy_backward",
    verbose=True,
    plot=True
)

# Wrapper will use calculated hyperparameters & feature set
predictions = wrapper.predict(X_test)

✅ Implemented

  • Wrappers:
  • RandomForestModelWrapper
  • XGBoostModelWrapper
  • LightGBMModelWrapper
  • Auto hyperparameter tuning:
  • grid_search
  • Feature selection strategy:
  • none (skip feature elimination)
  • greedy_backward

🧭 Planned / Roadmap

  • Add other feature selection strategies (e.g. forward, recursive)
  • Add other hyperparameter tuning strategies (e.g. Bayesian optimization)
  • Voting strategies

📦 Development

Clone repo, install dev deps:

uv pip install -e .[dev] --system

Run tests:

pytest -v

📚 Documentation

API Reference (HTML)


📜 License

Released under the MIT License.


📌 Status

Beta: Work in progress. Contributions and ideas welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mltune-0.2.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mltune-0.2.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file mltune-0.2.1.tar.gz.

File metadata

  • Download URL: mltune-0.2.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for mltune-0.2.1.tar.gz
Algorithm Hash digest
SHA256 2a7ae8844d669b44ef5f7a6896ba49ec00846eae831373cdfe34791d0be476d5
MD5 2ac0fdc7c2c34d0b4a975f8377b5bca8
BLAKE2b-256 94b132b4af87ca8ff39d94d638819f07fb0af9107e273215325079462a2fedac

See more details on using hashes here.

File details

Details for the file mltune-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mltune-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for mltune-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 56ed49892d10ef4fea5a74aae82c37ea9fae1dc9aea4d25ba2f6871908216921
MD5 3760168fd94ab77d60a9a82e2b4bf459
BLAKE2b-256 6d6017ba22750f31b044279f588392047a889e2697e4a3c594460ba0ade2ba32

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page