Beginner-friendly AutoML library for tabular data
Project description
KrishnAutoML
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/knight22-21/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/knight22-21/KrishnAutoML.git
cd KrishnAutoML
pip install -e .[dev]
Run tests:
pytest
Lint & format:
flake8 krishnautoml
black krishnautoml
License
MIT License © 2025 \Krishna Tyagi
Contributing
Contributions are welcome!
- Fork the repo
- Create a feature branch
- Submit a PR
Acknowledgements
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file krishnautoml-1.0.1.tar.gz.
File metadata
- Download URL: krishnautoml-1.0.1.tar.gz
- Upload date:
- Size: 18.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfd221c126f21e4952061f81aec47b555151e3dc8ee16bc0f6e2574d49b9bd51
|
|
| MD5 |
57f74ab607ce3e8bda14443c6647bda2
|
|
| BLAKE2b-256 |
03cfd95826e7df460fb2b1da8819f6891c0549eadc431fafb8ed0f544b2e859e
|
File details
Details for the file krishnautoml-1.0.1-py3-none-any.whl.
File metadata
- Download URL: krishnautoml-1.0.1-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
855dbe8a07c38ccf45aa473626c5e8b2c27f2866fb11efc4197fef0c3e08984c
|
|
| MD5 |
16c3dff91a3cfa2a88d8f067a8c7b9bb
|
|
| BLAKE2b-256 |
1f92107412422246adf2b3a78703ed84ccbbd9cacb136d6776b08975052fed8d
|