Skip to main content

Lightweight ML utility for automated training, evaluation, and prediction with CLI and Python API support

Project description

mlforgex

mlforgex is a Python package that enables easy training, evaluation, and prediction for machine learning models on cleaned dataset. It supports both classification and regression problems, automates preprocessing, model selection, hyperparameter tuning, and generates useful artifacts and plots for analysis.

Features

  • Automatic data preprocessing (missing value handling, encoding, scaling)
  • Imbalance handling (under-sampling, over-sampling)
  • Model selection and evaluation (classification & regression)
  • Hyperparameter tuning with RandomizedSearchCV
  • Artifact saving (model, preprocessor, encoder)
  • Visualization of metrics and learning curves
  • Simple CLI for training and prediction

Installation

Install mlforge using pip:

pip install mlforgex

stall .


## Requirements

- Python >= 3.8
- pandas
- numpy
- scikit-learn
- seaborn
- matplotlib
- xgboost
- imbalanced-learn

See [requirements.txt](requirements.txt) for details.

## Usage

### Train a Model

You can train a model using the CLI:

```sh
mlforge-train --data_path path/to/your/data.csv --dependent_feature TargetColumn --rmse_prob 0.3 --f1_prob 0.7 --n_jobs -1 --n_iter 100 --cv 3

Or programmatically:

from mlforge import train_model

result = train_model(
    data_path=<data_path>,
    dependent_feature=<dependent_feature>,
    rmse_prob=<rmse_probability>,
    f1_prob=<f1_probability>,
    n_jobs=<n_jobs>
)
print(result)

Predict

Use the CLI:

mlforge-predict --model_path path/to/model.pkl --preprocessor_path path/to/preprocessor.pkl --input_data path/to/input.csv --encoder_path path/to/encoder.pkl

Or programmatically:

from mlforge import predict

result = predict(
    <model.pkl>,
    <preprocessor.pkl>,
    <input_data.csv>,
    <encoder.pkl>
)
print(result)

Artifacts

After training, the following files are saved :

  • model.pkl: Trained model
  • preprocessor.pkl: Preprocessing pipeline
  • encoder.pkl: Label encoder (for classification)
  • Plots/: Visualizations (correlation heatmap, confusion matrix, ROC curve, etc.)

Testing

Run tests using pytest:

pytest test/

Author

Priyanshu Mathur
Portfolio
Email: mathurpriyanshu2006@gmail.com

Project Links

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

mlforgex-1.0.2.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

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

mlforgex-1.0.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file mlforgex-1.0.2.tar.gz.

File metadata

  • Download URL: mlforgex-1.0.2.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for mlforgex-1.0.2.tar.gz
Algorithm Hash digest
SHA256 8659291000a83a2325d40cc3341e257fa2d2538b0c17fa9e7f3d45385694b4a2
MD5 bd5cf81b8fd8132452d56cd65c52b7a3
BLAKE2b-256 276925ce6d7d352704282af5bf3c6d5d22ca44b44e1a23ef1c18b3b3e094578f

See more details on using hashes here.

File details

Details for the file mlforgex-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: mlforgex-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for mlforgex-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f6e24dcd61f09180a170e330b1fd1a1132ec80759df2ffecf4fb33df4a7ba4e
MD5 d38c28283ea46db7cd7fa26d7af7b14b
BLAKE2b-256 38074e49d6367b2d497cf931c45db79ed21c67b41e43e142bdd0a94d044ce88b

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