Skip to main content

Beginner-friendly AutoML library for tabular data

Project description

KrishnAutoML 🚀

PyPI version Build Status License

KrishnAutoML is a lightweight, beginner-friendly, and production-ready AutoML library for tabular data.
It automates the end-to-end machine learning workflow with minimal user input, while keeping things modular and extensible.


✨ Features

  • 📂 Load data from CSV or Pandas DataFrame
  • 🔍 Automatic problem type detection (classification or regression)
  • 🧹 Smart preprocessing (missing values, categorical encoding, scaling)
  • 📊 Optional EDA reports for insights
  • 🤖 Train multiple models (LightGBM, XGBoost, CatBoost, Scikit-Learn)
  • 🎯 Automated model selection and hyperparameter tuning (Optuna / GridSearchCV)
  • 📈 Flexible cross-validation (KFold, StratifiedKFold, GroupKFold)
  • 📝 Multiple evaluation metrics dynamically
  • ⚡ Early stopping and GPU support
  • 💾 Save models + reproducible pipeline code
  • 📑 Auto-generated reports in HTML/Markdown

🛠 Installation

From PyPI (after publishing):

pip install krishnautoml

From source:

git clone https://github.com/<your-username>/KrishnAutoML.git
cd KrishnAutoML
pip install -e .[dev]

🚀 Quick Start

Python API

from krishnautoml import KrishnAutoML

# Initialize AutoML
automl = KrishnAutoML(target="Survived", problem_type="auto")

# Full pipeline
(
    automl
    .load_data("data/titanic.csv")
    .preprocess()
    .train_models()
    .evaluate()
    .save_model("best_model.pkl")
)

print("Best model metrics:", automl.best_score)

Command Line Interface (CLI)

krishnautoml fit --data data/titanic.csv --target Survived --report

This will:

  • Train models
  • Save best_model.pkl
  • Generate an HTML performance report

📊 Example Output

Metrics (Classification example):

{'accuracy': 0.8567, 'precision': 0.8421, 'recall': 0.8312, 'f1': 0.8350}

Generated Report:

  • 📈 Confusion matrix
  • 🔑 Feature importance
  • 📊 ROC-AUC curve
  • 📑 Summary of preprocessing steps

⚙️ Advanced Usage

  • 🔄 Custom cross-validation:
automl = KrishnAutoML(target="SalePrice", cv_strategy="KFold", n_splits=10)
  • 🎯 Specify metrics:
automl = KrishnAutoML(target="Survived", metrics=["accuracy", "f1"])
  • 📦 Load trained model:
from joblib import load
model = load("best_model.pkl")

🧑‍💻 Development

Clone and install dev dependencies:

git clone https://github.com/<your-username>/KrishnAutoML.git
cd KrishnAutoML
pip install -e .[dev]

Run tests:

pytest

Lint & format:

flake8 krishnautoml
black krishnautoml

📜 License

MIT License © 2025 [Your Name]


🤝 Contributing

Contributions are welcome!

  • Fork the repo
  • Create a feature branch
  • Submit a PR 🎉

🙌 Acknowledgements

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

krishnautoml-0.1.3.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

krishnautoml-0.1.3-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file krishnautoml-0.1.3.tar.gz.

File metadata

  • Download URL: krishnautoml-0.1.3.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for krishnautoml-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9bd3d16e6b51925d429a6aee2c5bffb133930cafb187a9ca4fb041d0786a170c
MD5 afddcafacbad7cf7405e571d670ea9bd
BLAKE2b-256 01e3e3c71a0b04a176795d5bb0f5eac99f0180b488267d46e6b90e12a7badd2d

See more details on using hashes here.

File details

Details for the file krishnautoml-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: krishnautoml-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for krishnautoml-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 be97bff4503c885d304f12fcac3e34e5710cbfdbea5151fef0bb0417cd8ca759
MD5 d2738f793df3f1fff742d5cbb071aa6b
BLAKE2b-256 767fa3fc0a7e27d63c49385b95799d73384a8e84829ad6a421fbd3132115e43b

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