A package for auto preprocessing and training machine learning models
Project description
learnify-ml
learnify-ml is a lightweight and modular Python package designed to automate preprocessing pipelines for machine learning datasets. With minimal configuration, it applies standard best practices to clean, transform, and prepare data for training.
Features
Data Preprocessing
- Automatically detects and fills missing values
- Identifies and handles outliers
- Applies skewness correction to numeric features
- Scales numerical data using standard scaling
- Encodes categorical variables using label encoding
- Removes low-variance features
- Performs VIF analysis to reduce multicollinearity
- Balances imbalanced datasets using SMOTE
- Supports feature selection methods
Model Training & Evaluation
- Trains multiple machine learning models (e.g., Random Forest, XGBoost, Logistic Regression)
- Automatically selects the best-performing model based on scoring metrics
- Tracks performance with metrics like accuracy, F1-score
- Saves trained model and evaluation report as artifacts
Hyperparameter Optimization
- Supports both GridSearchCV and RandomizedSearchCV
- Configurable search space for each model
- Automatically selects best hyperparameters and retrains final model
Installation
pip install learnify-ml
If the package is not yet on PyPI, you can install locally:
git clone https://github.com/yourusername/learnify-ml.git
cd learnify-ml
pip install -e .
Usage
🔹 1. Import the main pipeline class
from learnify_ml import AutoMLPipeline
🔹 2. Run the pipeline
trainer = AutoMLPipeline(target_column="target_column",
use_case="regression",
apply_hyperparameter_tuning=True,
hyperparameter_tuning_method="randomized",
apply_tf_idf=False,
apply_scale=True,
apply_feature_selection=True,
apply_outlier=True,
apply_vif=True,
apply_skewness=True,
apply_smote=False,
test_size=0.2,
impute_strategy="mean",
).run_pipeline()
trainer.run_pipeline()
Example Functions
df = trainer.remove_outliers(df)
df = trainer.handle_missing_values(df)
df = trainer.scale_numeric_features(df)
Each method is modular and can be used independently or inside run_pipeline().
Project details
Release history Release notifications | RSS feed
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 learnify_ml-0.0.24.tar.gz.
File metadata
- Download URL: learnify_ml-0.0.24.tar.gz
- Upload date:
- Size: 17.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ab6db272201ff0f0ed503ed4884ad81f70a51a1f43af7f205eef4c771cfc25c
|
|
| MD5 |
6da8735ed125e135a632e6ee723b980a
|
|
| BLAKE2b-256 |
87cc123ea006576600656117124670bdfc997632b7d0a10dce721a049ad84881
|
Provenance
The following attestation bundles were made for learnify_ml-0.0.24.tar.gz:
Publisher:
release.yaml on cakiryusuff/learnify-ml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
learnify_ml-0.0.24.tar.gz -
Subject digest:
6ab6db272201ff0f0ed503ed4884ad81f70a51a1f43af7f205eef4c771cfc25c - Sigstore transparency entry: 230324814
- Sigstore integration time:
-
Permalink:
cakiryusuff/learnify-ml@4aeea8ad6a891dc0a07fb4ad89d0f6d28a35c595 -
Branch / Tag:
refs/tags/0.0.24 - Owner: https://github.com/cakiryusuff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@4aeea8ad6a891dc0a07fb4ad89d0f6d28a35c595 -
Trigger Event:
push
-
Statement type:
File details
Details for the file learnify_ml-0.0.24-py3-none-any.whl.
File metadata
- Download URL: learnify_ml-0.0.24-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bac061755495f69363d52d4dab276cc04062334ea8b145d7293336104a2572f5
|
|
| MD5 |
7062fe9e96f977b8dadb6e8274abbbe1
|
|
| BLAKE2b-256 |
459a294dc2458a0c1a3c13dc03a25fd2dca43a0ccab785f77ee3f2ec18bfaaf8
|
Provenance
The following attestation bundles were made for learnify_ml-0.0.24-py3-none-any.whl:
Publisher:
release.yaml on cakiryusuff/learnify-ml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
learnify_ml-0.0.24-py3-none-any.whl -
Subject digest:
bac061755495f69363d52d4dab276cc04062334ea8b145d7293336104a2572f5 - Sigstore transparency entry: 230324817
- Sigstore integration time:
-
Permalink:
cakiryusuff/learnify-ml@4aeea8ad6a891dc0a07fb4ad89d0f6d28a35c595 -
Branch / Tag:
refs/tags/0.0.24 - Owner: https://github.com/cakiryusuff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@4aeea8ad6a891dc0a07fb4ad89d0f6d28a35c595 -
Trigger Event:
push
-
Statement type: