Skip to main content

Automated Machine Learning Benchmarking Library

🚀 AutoMLBench provides a seamless way to compare machine learning models, preprocess data, evaluate performance, and optimize models with hyperparameter tuning.


📌 Installation

Ensure all dependencies are installed:

pip install pandas scikit-learn numpy matplotlib xgboost lightgbm catboost imbalanced-learn

Install from pypi:

pip install automlbench

For local development:

git clone https://github.com/AnnNaserNabil/automlbench.git
cd automlbench
pip install -e .

Model Comparison Without Hyperparameter Tuning

The simplest way to compare models using AutoMLBench.

1️⃣ Load Dataset & Preprocess

import pandas as pd
from automlbench import preprocess_data, get_models, train_models, evaluate_model, plot_performance

# Load dataset
url = "DATAPATH"
df = pd.read_csv(url) 

# Define target column
target_column = "Name OF the Target Column"

# Preprocess data
X_train, X_test, y_train, y_test = preprocess_data(df, target_column)

2️⃣ Train All Default Models

# Get predefined models
models = get_models()

# Train models without tuning
results = train_models(X_train, X_test, y_train, y_test)

# Print model performance results
print(results)

3️⃣ Evaluate & Compare Model Performance

# Evaluate all models
for model_name, model in models.items():
    print(f"Evaluating {model_name}...")
    metrics = evaluate_model(model.fit(X_train, y_train), X_test, y_test)
    print(metrics)

# Plot performance comparison
plot_performance(results, metrics=["Accuracy", "Precision", "Recall", "F1-Score", "RMSE"])

🔹 Model Comparison With Hyperparameter Tuning

For better performance, use hyperparameter tuning.

1️⃣ Get Hyperparameter Grids

from automlbench import get_hyperparameter_grids, tune_hyperparameters

# Retrieve hyperparameter grids
hyperparameter_grids = get_hyperparameter_grids()

2️⃣ Tune Models

best_models = {}

# Tune each model if it has a predefined hyperparameter grid
for model_name, model in models.items():
    if model_name in hyperparameter_grids:
        print(f"Tuning {model_name}...")
        best_model, best_params = tune_hyperparameters(model, hyperparameter_grids[model_name], X_train, y_train)
        best_models[model_name] = best_model
        print(f"Best params for {model_name}: {best_params}")
    else:
        best_models[model_name] = model  # Use default if no tuning grid

3️⃣ Train Tuned Models

# Train models using the best hyperparameters found
tuned_results = train_models(
    X_train, X_test, y_train, y_test, 
    selected_models=list(best_models.keys()), 
    hyperparams={name: model.get_params() for name, model in best_models.items()}
)

# Display tuned model results
print(tuned_results)

4️⃣ Evaluate & Compare Tuned Models

# Evaluate all tuned models
for model_name, model in best_models.items():
    print(f"Evaluating {model_name}...")
    metrics = evaluate_model(model.fit(X_train, y_train), X_test, y_test)
    print(metrics)

# Plot comparison of tuned models
plot_performance(tuned_results, metrics=["Accuracy", "Precision", "Recall", "F1-Score", "RMSE"])

⚡ Quick Summary

✅ Basic Comparison – Train models with default settings.
✅ Hyperparameter Tuning – Optimize models for better performance.
✅ Evaluation & Visualization – Compare accuracy, precision, recall, F1-score, and RMSE.
✅ Automated ML Benchmarking – Quickly assess multiple models with minimal code.


📌 Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a new branch (feature-branch)
  3. Make changes & test (pytest tests/)
  4. Submit a pull request (PR)

📜 License

AutoMLBench is released under the MIT License.


This documentation makes it easy for users to compare models before and after tuning using AutoMLBench. 🚀 Let me know if you need modifications! 🔥

Metadata

Release files for automlbench 0.1.5.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 automlbench 0.1.5.1
File Size Uploaded
automlbench-0.1.5.1.tar.gz 10.1 kB Details

Built distribution (wheel)

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

Total release size: 23.0 kB

Release files / automlbench-0.1.5.1.tar.gz

Download URL automlbench-0.1.5.1.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
709ee0893da2eb0dfe8e7e40cbcadb7df609587e14433b21b4e7f28f1ca61264
BLAKE2b-256 checksum
How to use checksums
4bd973786de336cd0050ec59860e26e367efe8ffabf74ccbcde09dd5e0aaf8f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.7

Release files / automlbench-0.1.5.1-py3-none-any.whl

Download URL automlbench-0.1.5.1-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ebfbcbdebfb0dd727522716c4fd17a79cb34ae5fb99cccd95752bcc38ee6b1e6
BLAKE2b-256 checksum
How to use checksums
402bd22d6130284f24cd799d4ff92aeddee1d4aced907e8aec8ccc5604ce70f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.7

Release history Release notifications | RSS feed

This release

0.1.5.1 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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