MLVerdict
You have a spreadsheet or CSV. One column is the answer you want to predict (price, yes/no, churn, disease, …). You do not want to spend days writing scikit-learn: which problem is this, which metric, which models, how to split, how to explain the winner, how to save it.
MLVerdict does that loop in a few lines. You get a written verdict (“this model, for this reason”) and a file you can use on new rows.
pip install mlverdict
No GitHub clone. No extra files from us. Use your data.
What you get (why use this)
Without this library you typically:
- decide classification vs regression yourself
- pick a metric (accuracy is often misleading)
- train models one by one
- compare notebooks by hand
- hope you did not leak an ID column
- rewrite preprocessing when you deploy
With MLVerdict you still bring the CSV + the name of the target column. The library then:
- Reads the table
- Figures out the problem type (yes/no, many classes, or a number)
- Picks a metric that matches that problem
- Trains a small set of standard models
- Optionally tunes the best ones
- Picks a winner with reasons (not a silent guess)
- Warns you about traps (IDs, imbalance, “accuracy 80% but never finds the rare class”)
- Saves one artifact: cleaning + model together
Work saved: the usual “first serious sklearn project” (days of glue code)
becomes minutes of fit + print. You still need decent data. The library
does not invent labels or magically fix a useless table.
This is supervised only
| You have | MLVerdict |
|---|---|
| A target column (the thing to predict) | Yes — this is the product |
| No target (only clustering / “find groups” / anomaly with no labels) | No. That is unsupervised. This version does not do it. |
If you are not sure: look at your table. If one column is the answer you want
in the future (churn, price, label, …), you are in the right place.
Pass that column’s real name to fit.
Use it (your file, your column)
customers.csv and "churn" below are examples.
Replace them with your path and your target name. We do not ship a CSV.
from mlverdict import Verdict
run = Verdict(enable_hpo=True).fit("customers.csv", "churn")
print(run)
| Piece | Meaning |
|---|---|
"customers.csv" |
Your file. Excel → Save as CSV. Or a pandas DataFrame. |
"churn" |
Your target column. If the column is price, write "price". |
print(run) |
Plain-language result: winner, scores, warnings, what to do next |
That is enough for a first run. You do not pick algorithms. You do not clone the repo.
House prices:
run = Verdict().fit("houses.csv", "sale_price")
print(run)
Save the model for later
run.artifact().save("model.joblib")
from mlverdict import ModelArtifact
model = ModelArtifact.load("model.joblib")
model.predict(new_rows) # new_rows = table without the target column
What the library tries (you do not choose)
Users should not have to know these names. They are listed so you know we are not hiding a random mystery model.
For normal tables (rows and columns), these families are the usual first try in industry. MLVerdict trains the ones that fit your problem and picks one with evidence:
- linear models (Logistic Regression or Ridge)
- tree models (Random Forest, Extra Trees)
- sklearn gradient boosting (HistGradientBoosting)
- XGBoost / LightGBM / CatBoost only if you installed them
You do not import them. You do not tune them unless you turn HPO on
(enable_hpo=True). The printout tells you which one won and why.
Optional: you have no CSV yet
Only then run the demo. It creates a fake table and runs the same API. Normal users skip this.
pip install mlverdict
git clone https://github.com/siva1252/ml_lib.git
cd ml_lib
python examples/quickstart.py
git clone is not required to use the library. It is only for the demo
script, reading source, or running tests.
Optional: developers / tests
git clone https://github.com/siva1252/ml_lib.git
cd ml_lib
pip install -e ".[dev]"
pytest
License
MIT. See LICENSE.
Metadata
Release files for mlverdict 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mlverdict-0.1.2.tar.gz | 60.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mlverdict-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.7 kB
Release files / mlverdict-0.1.2.tar.gz
| Download URL | mlverdict-0.1.2.tar.gz |
|---|---|
| Size | 60.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6746e1ff35a2e7061bf3762343015886ea2390defee62431f4ec4cf05d409119
|
|
BLAKE2b-256 checksum How to use checksums |
191adda12d3681e093127bed37a4896a63429eb215e17a327395cce3f95ac815
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|
Release files / mlverdict-0.1.2-py3-none-any.whl
| Download URL | mlverdict-0.1.2-py3-none-any.whl |
|---|---|
| Size | 68.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c7a613c80ef8a76fd1f5a7e0057e099e1207ed6dff8a67fa2cf0aba7fd3d7d6
|
|
BLAKE2b-256 checksum How to use checksums |
7a4132700778dd82095e26783b0fb77720a8613b7b3d902b4875b340d05064a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|