Metadata-Version: 2.4
Name: learnify_ml
Version: 0.0.27
Summary: A package for auto preprocessing and training machine learning models
Author: Yusuf Çakır
License-Expression: MIT
Project-URL: Homepage, https://github.com/cakiryusuff/learnify-ml
Project-URL: Issues, https://github.com/cakiryusuff/learnify-ml/issues
Classifier: Programming Language :: Python
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn==1.6.1
Requires-Dist: lightgbm
Requires-Dist: xgboost==2.1.4
Requires-Dist: imbalanced-learn
Requires-Dist: statsmodels
Requires-Dist: tqdm
Requires-Dist: nltk
Requires-Dist: matplotlib
Requires-Dist: seaborn
Dynamic: license-file

# 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

```bash
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

```python
from learnify_ml import AutoMLPipeline
```

🔹 2. Run the pipeline

```python
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

```python
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().





