Skip to main content

🧰 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!

Release files for mltune 0.2.1

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

Source distribution (sdist)

Source distribution for mltune 0.2.1
File Size Uploaded
mltune-0.2.1.tar.gz 13.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mltune 0.2.1
File Interpreter ABI Platform
mltune-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size:28.9 kB

Release files / mltune-0.2.1.tar.gz

Download URL mltune-0.2.1.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2a7ae8844d669b44ef5f7a6896ba49ec00846eae831373cdfe34791d0be476d5
BLAKE2b-256 checksum
How to use checksums
94b132b4af87ca8ff39d94d638819f07fb0af9107e273215325079462a2fedac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.11

Release files / mltune-0.2.1-py3-none-any.whl

Download URL mltune-0.2.1-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56ed49892d10ef4fea5a74aae82c37ea9fae1dc9aea4d25ba2f6871908216921
BLAKE2b-256 checksum
How to use checksums
6d6017ba22750f31b044279f588392047a889e2697e4a3c594460ba0ade2ba32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.2.1 This release

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