Metadata-Version: 2.4
Name: datasage-ml
Version: 0.1.0
Summary: A simple baseline machine learning toolkit for tabular datasets.
Author-email: Ammar Jubril <ammarjubril@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Jubril-Olasunkanmi/datasage-ml
Project-URL: Repository, https://github.com/Jubril-Olasunkanmi/datasage-ml
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=2.0
Requires-Dist: numpy>=1.24
Requires-Dist: scikit-learn>=1.3
Requires-Dist: joblib>=1.3
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=4.0; extra == "dev"
Dynamic: license-file

# DataSage ML

DataSage ML is a simple open-source Python package for building quick baseline machine learning models on tabular datasets.

It is designed for data science beginners, analysts, and machine learning learners who want a clean starting point for classification projects.

## Features

- Load CSV files or pandas DataFrames
- Detect numeric and categorical columns automatically
- Handle missing values
- Encode categorical variables safely
- Train baseline classification models
- Compare model performance
- Select the best model by F1 score
- Generate predictions
- Save the best trained model

## Installation for local development

```bash
python -m venv .venv
.venv\Scripts\activate
pip install -e .[dev]
```

For PowerShell, if the extras command gives issues, use:

```bash
pip install -e .
pip install pytest build twine
```

## Demo Usage

```python
from datasage_ml import AutoClassifier

clf = AutoClassifier(target="churn")
clf.fit("data/customer_churn.csv")

print(clf.leaderboard())

clf.save_best("best_model.pkl")
```

## Run the example

```bash
python examples\demo_classification.py
```

## Run tests

```bash
python -m pytest
```

## GitHub push

```bash
git init
git add .
git commit -m "Initial commit: add DataSage ML package"
git branch -M main
git remote add origin https://github.com/Jubril-Olasunkanmi/datasage-ml.git
git push -u origin main
```

## Project Structure

```text
datasage-ml/
├── src/
│   └── datasage_ml/
│       ├── __init__.py
│       └── classifier.py
├── examples/
│   └── demo_classification.py
├── data/
│   └── customer_churn.csv
├── tests/
│   └── test_classifier.py
├── pyproject.toml
├── README.md
├── LICENSE
├── CONTRIBUTING.md
├── requirements.txt
└── .gitignore
```

## Author

Ammar Jubril  
Technology Consultant | Data Science | Machine Learning | Financial Engineering

GitHub: https://github.com/Jubril-Olasunkanmi
