3.4 KiB
3.4 KiB
tags, aliases, date, time, description
| tags | aliases | date | time | description |
|---|---|---|---|---|
| 2025-03-02 | 20:53:47 |
Project Structure
mlpredictor/
│
├── mlpredictor/
│ ├── __init__.py
│ ├── model.py
│
├── tests/
│ ├── test_model.py
│
├── LICENSE
├── README.md
├── pyproject.toml
└── .gitignore
Content of setup.py
from setuptools import setup
setup(
name='mypackage',
version='0.1',
packages=['mypackage'],
install_requires=['requests'])
Content of pyproject.toml
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "mlpredictor"
version = "0.1.0"
description = "A simple machine learning package using scikit-learn"
authors = [
{name = "Ebrahim", email = "ebimsv0501@gmail.com"}
]
license = {text = "MIT"}
readme = "README.md"
requires-python = ">=3.6"
dependencies = [
"scikit-learn>=1.0",
]
[project.urls]
"Homepage" = "https://github.com/ebimsv/mlpredictor"
- [build-system]: Specifies the build system requirements (i.e., using
setuptoolsandwheel). - [project]: Contains metadata about the package, like name, version, description, and dependencies.
Content of README.md
# MLPredictor
MLPredictor is a simple machine learning package that trains a RandomForest model using the Iris dataset and enables users to make predictions. The package is built using `scikit-learn` and is intended as a demonstration of packaging Python machine learning projects for distribution.
## Features
- Train a RandomForestClassifier on the Iris dataset.
- Make predictions on new data after training.
- Save and load trained models.
## Installation
You can install the package via **PyPI** or from **source**.
### Install from PyPI
```bash
pip install mlpredictor
```
### Install from Source (GitHub)
```bash
git clone https://github.com/ebimsv/mlpredictor.git
cd mlpredictor
pip install .
```
## Usage
After installation, you can use `MLPredictor` to train a model and make predictions.
### Example: Training and Making Predictions
```python
from mlpredictor import MLPredictor
# Initialize the predictor
predictor = MLPredictor()
# Train the model on the Iris dataset
predictor.train()
# Make a prediction on a sample input
sample_input = [5.1, 3.5, 1.4, 0.2]
prediction = predictor.predict(sample_input)
print(f"Predicted class: {prediction}")
```
Content of .gitignore
*.pyc
__pycache__/
*.pkl
dist/
build/
Test
Content of tests/test_model.py
import pytest
from mlpredictor import MLPredictor
def test_train_and_predict():
model = MLPredictor()
model.train()
result = model.predict([5.1, 3.5, 1.4, 0.2])
assert len(result) == 1
if __name__ == "__main__":
pytest.main()
Run test
pytest tests
Install
Test locally
pip install .
Publish on PyPI
- Install 'Twine' and 'build':
pip install twine build
- Build the Package:
python -m build
- Upload to PyPI
twine upload dist/*