Skip to main content

Beginner-friendly AutoML library for tabular data

Project description

Here you go bro — ONE single copy-paste README file. Just create README.md and paste everything below. 🚀


# ezml 🚀  
**Beginner-Friendly AutoML for Tabular Data**

ezml is a lightweight, easy-to-use AutoML library that lets anyone train machine learning models in just a few lines of code — no deep ML knowledge required.

Built for students, developers, analysts, and beginners who want fast, reliable predictions without complex pipelines.

---

## ✨ Key Features

- Smart task detection (classification vs regression)  
- Fast vs Best model modes  
- Automatic preprocessing (missing values + encoding)  
- One-line training helper  
- Dict-based safe prediction  
- Built-in save & load support  
- Lightweight and beginner-friendly  
- Modular and extensible design  

---

## Installation

Clone the repository and install dependencies:

```bash
pip install -r requirements.txt

Optional (recommended for best mode):

pip install lightgbm

⚡ Quick Start (Recommended)

One-line training

from ezml import train_model

model = train_model("data.csv", target="price")

prediction = model.predict([[3000, 3, 2, 5]])

🔧 Advanced Usage

Using AutoModel directly

from ezml import AutoModel

model = AutoModel(mode="best")  # fast | best
model.train("data.csv", target="price")

preds = model.predict([[3000, 3, 2, 5]])

⚡ Model Modes

ezml provides two performance modes to balance speed and accuracy.

🚀 fast (default)

Model: RandomForest

Best for: small to medium datasets, quick and stable baseline

Why use it: fast training, very robust, beginner-safe

🔥 best

Model: LightGBM

Best for: larger datasets and higher accuracy needs

Why use it: more powerful learning, better performance on complex tabular data

💡 ezml automatically falls back to RandomForest if LightGBM is not installed.

ezml automatically falls back to RandomForest if LightGBM is not installed.


🧠 Supported Tasks

ezml automatically detects:

  • ✅ Regression problems
  • ✅ Binary classification
  • ✅ Multi-class classification

Manual override is also supported:

AutoModel(task="classification")
AutoModel(task="regression")

🔮 Flexible Prediction Inputs

ezml accepts multiple input formats:

Dict (recommended)

model.predict({
    "feature1": value1,
    "feature2": value2
})

List

model.predict([[v1, v2, v3]])

Batch dict

model.predict([
    {"feature1": v1, "feature2": v2},
    {"feature1": v3, "feature2": v4}
])

💾 Save and Load Models

Save

model.save("model.pkl")

Load

from ezml import AutoModel

loaded_model = AutoModel.load("model.pkl")
preds = loaded_model.predict({...})

🧹 Automatic Preprocessing

ezml automatically handles:

  • Missing value imputation
  • Categorical encoding
  • Optional feature scaling
  • Column alignment during prediction

No manual preprocessing required.


🎯 Project Goal

ezml aims to make machine learning:

  • simple
  • fast
  • accessible
  • beginner-friendly

without sacrificing real-world usability.


🤝 Contributing

Contributions, issues, and suggestions are welcome!

If you find a bug or have an idea:

  1. Fork the repo
  2. Create a feature branch
  3. Submit a pull request

⭐ Support

If you find ezml useful, consider giving the repo a star ⭐

It helps the project grow!


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

pyezml-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

pyezml-0.1.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file pyezml-0.1.0.tar.gz.

File metadata

  • Download URL: pyezml-0.1.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for pyezml-0.1.0.tar.gz
Algorithm Hash digest
SHA256 db5c9cc4c7f023135cfd667fb65de284aefc9018c7c94a1aab96892e2d6d1e2b
MD5 bf6ee033243da8ba707d586085ec9e2b
BLAKE2b-256 42c0c5681665e490642978a30bfe12ea921c6d3be867fe2b640454634c4214db

See more details on using hashes here.

File details

Details for the file pyezml-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyezml-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for pyezml-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4856eef4ee865720f7b3942f00583056d7dcb598e749e226635f58605c2690aa
MD5 aca228dbbb3105c001c49a3aa606c03b
BLAKE2b-256 2c4834f83ae0f6eb5c81f859fca3eeabc97c4406f1ab63df6999664600b9afb8

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