Skip to content

Rktim/ezyml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 ezyml 🚀

Version 2.0

From raw data to a deployable ML system — in one command.

License Python Versions Version

PyPI Downloads


🚀 What’s New in v2.0

ezyml 2.0 is a major architectural upgrade. It is no longer just a trainer — it is a machine‑learning compiler.

🆕 Major Additions

  • 🧠 ezyml compile – one command to generate models, metrics, APIs, demos, and infra
  • 🧩 Pipeline‑Driven Execution – YAML‑based pipelines with visual DAGs
  • 🎛 User‑Controlled Artifacts – generate only what you ask for
  • 📊 Auto‑EDA + Evaluator – dataset profiling, metrics, plots
  • 🧪 Production‑Ready Demos – high‑quality Streamlit UI generation
  • 📦 Deployment Tooling – FastAPI, Docker, Kubernetes YAML
  • 🔍 Dataset Fingerprinting – reproducibility by design

🌟 Why ezyml?

ezyml removes boilerplate across the entire ML lifecycle:

dataset → training → evaluation → deployment → demo

All without forcing you into a framework lock‑in.

Core Philosophy

  • Explicit over magic – nothing is generated unless you ask
  • Beginner‑friendly, expert‑capable
  • Composable, inspectable, debuggable

📦 Installation

pip install ezyml==2.0.0

🚀 CLI Quickstart

Below are the most common ways users interact with ezyml — via the CLI or Python API.


🧠 Train a Model (CLI – v1 compatible)

ezyml train \
  --data data.csv \
  --target label \
  --model random_forest

This trains a model and prints evaluation metrics.


🧩 Compile an End-to-End ML System (CLI – v2.0)

Minimal (no pipeline, no extras):

ezyml compile \
  --data heart.csv \
  --target target

Generates:

build/
├── model.pkl
└── metrics.json

🎛 Compile With Explicit Outputs

ezyml compile \
  --data heart.csv \
  --target target \
  --api \
  --demo \
  --docker \
  --k8s

Each flag enables a specific artifact:

  • --api → FastAPI inference app
  • --demo → Interactive Streamlit demo
  • --docker → Dockerfile
  • --k8s → Kubernetes manifests

🧩 Compile Using a YAML Pipeline (Advanced)

ezyml compile \
  --pipeline pipeline.yaml \
  --data heart.csv \
  --target target \
  --all

🧩 Compile a Full ML System (v2.0)

ezyml compile \
  --pipeline pipeline.yaml \
  --data data.csv \
  --target label

Default output (minimal):

build/
├── model.pkl
└── metrics.json

🎛 User‑Controlled Outputs

ezyml compile \
  --pipeline pipeline.yaml \
  --data data.csv \
  --target label \
  --api \
  --demo \
  --docker \
  --k8s

🧪 Pipeline Example (YAML)

steps:
  trainer:
    type: EZTrainer
    params:
      model: random_forest
      target: label

🧠 Python API (Still Supported)

You can use ezyml programmatically without the CLI.

Basic Training

from ezyml.core import EZTrainer

trainer = EZTrainer(
    data="heart.csv",
    target="target",
    model="random_forest"
)

trainer.train()
trainer.save_model("model.pkl")
trainer.save_report("metrics.json")

Predictions in Python

import pandas as pd
from ezyml.core import EZTrainer

trainer = EZTrainer(data="heart.csv", target="target")
trainer.train()

X_new = pd.read_csv("new_samples.csv")
preds = trainer.predict(X_new)
print(preds)

Using ezyml as a Library Component

from ezyml.compiler.compile import compile_project
from ezyml.core import EZTrainer

trainer = EZTrainer(data="heart.csv", target="target")
trainer.train()

compile_project(
    trainer=trainer,
    schema={"age": "number", "chol": "number"},
    api=True,
    demo=True
)

📊 Evaluation & Analytics

  • Accuracy, F1, ROC‑AUC (classification)
  • MAE, RMSE, R² (regression)
  • Confusion matrix, ROC & PR curves
  • Drift‑ready metric storage

📦 Deployment Targets

Layer Supported
API FastAPI
Demo Streamlit
Container Docker
Orchestration Kubernetes

🧰 Supported Models

Task Models
Classification logistic_regression, random_forest, xgboost, svm, naive_bayes, gradient_boosting, extra_trees, knn
Regression linear_regression, ridge, lasso, elasticnet, random_forest, xgboost, svr, gradient_boosting
Clustering kmeans, dbscan, agglo
Dim Reduction pca, tsne

🔮 Roadmap

  • Learner Mode (explain decisions)
  • SHAP‑based explainability
  • Model comparison dashboards
  • Presets (--preset production)
  • CI/CD & MLOps integrations

📜 License

MIT License – View License


👨‍💻 Author

Built with ❤️ by Raktim Kalita GitHub: https://github.com/Rktim

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages