Beginner-friendly AutoML library for tabular data
Project description
pyezml 🚀
Beginner-Friendly AutoML for Tabular Data
Train machine learning models in one line of code — no ML expertise required.
pyezml is a lightweight yet powerful AutoML library that automatically handles preprocessing, model selection, and prediction so you can focus on results.
Built for students, developers, analysts, and beginners who want fast, reliable predictions without complex pipelines.
🚀 What's New in v0.2.0
- Labeled probability predictions
- Auto-save via
save=parameter - Automatic
.pklextension handling - Robust DataFrame prediction support
- Built-in sample data generators
- Unified prediction pipeline
🚀 Installation
pip install pyezml
Optional (recommended for best mode):
pip install lightgbm
Requirements
- Python ≥ 3.8
⚡ Quick Example
from ezml import train_model
model = train_model("data.csv", target="price")
print(model.score())
That’s it — model trained and evaluated.
🧪 Generate Sample Data (NEW)
No dataset? No problem.
from ezml.datasets import make_classification_data
from ezml import train_model
df = make_classification_data()
model = train_model(df, target="target")
print(model.score())
Perfect for quick testing and demos.
🔮 Labeled Probability Predictions (NEW)
pyezml returns human-readable probabilities:
probs = model.predict_proba({
"feature_0": 0.5,
"feature_1": -1.2
})
print(probs)
Example output:
[{'No': 0.12, 'Yes': 0.88}]
No index guessing required.
💾 Auto-Save Models (NEW)
Save automatically during training:
model = train_model(
df,
target="target",
save="my_model" # .pkl added automatically
)
Manual save still works:
model.save("model.pkl")
🔧 Advanced Usage
from ezml import AutoModel
model = AutoModel(mode="best") # fast | best
model.train("data.csv", target="price")
print(model.score())
print(model.feature_importance())
⚡ Model Modes
pyezml provides two performance modes:
🚀 fast (default)
- Model: RandomForest
- Best for: small to medium datasets
- Why use it: fast, robust, beginner-safe
🔥 best
- Model: LightGBM
- Best for: larger datasets and higher accuracy
- Why use it: stronger learning on complex tabular data
💡 Automatically falls back to RandomForest if LightGBM is unavailable.
📊 Metrics API
After training:
Classification
- Accuracy
- F1-score
Regression
- R² score
- MAE
Example:
print(model.metrics_)
print(model.score()) # primary metric
🔮 Flexible Prediction Inputs
Dict (recommended)
model.predict({"feature1": value1, "feature2": value2})
Batch dict
model.predict([
{"feature1": v1, "feature2": v2},
{"feature1": v3, "feature2": v4}
])
pandas DataFrame
model.predict(df)
🧹 Automatic Preprocessing
pyezml automatically handles:
- Missing value imputation
- Categorical encoding
- Optional feature scaling
- Column alignment during prediction
No manual preprocessing required.
📓 Demo Notebook
See the full working example:
👉 examples/pyezml_demo.ipynb
🎯 Project Goal
pyezml 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:
- Fork the repo
- Create a feature branch
- Submit a pull request
📜 License
MIT License — free to use and modify.
⭐ Support
If you find pyezml useful, consider giving the repository 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
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 pyezml-0.2.0.tar.gz.
File metadata
- Download URL: pyezml-0.2.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a750a69608e0a6e3ebecf3df0ddad89749c1e8736ea32c754e2a8c6a962ffef
|
|
| MD5 |
d27d6c7c3cf07593dd0191a21b975c1e
|
|
| BLAKE2b-256 |
ac7cefba03b93d4ac25e398f844009f29a3f2dae688f6fcdd1d8f3ae93f3dc3f
|
File details
Details for the file pyezml-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pyezml-0.2.0-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b87aa0a430dd4962267cb10785ebce6bcabe61717349f834613011b9ce7e6a97
|
|
| MD5 |
a47249c2e06c59efdfd54b30669b85b5
|
|
| BLAKE2b-256 |
8c2018ecef509459e2835d116d129bfa75f3a0d17ab57b8db64f429d9f5592c1
|