Metadata-Version: 2.1
Name: showml
Version: 1.2.0
Summary: A Python package of Machine Learning Algorithms implemented from scratch
Home-page: https://github.com/hasnainroopawalla/ShowML
Author: Hasnain Roopawalla
Author-email: hasnain.roopawalla@gmail.com
License: MIT
Keywords: python,machinelearning,ai
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# ShowML

[![Python packaging](https://github.com/hasnainroopawalla/ShowML/actions/workflows/python_packaging.yml/badge.svg?branch=master)](https://github.com/hasnainroopawalla/ShowML/actions/workflows/python_packaging.yml)

**Show** the **ML** Code!

A Python package of Machine Learning Algorithms implemented from scratch.

The aim of this package is to present the working behind fundamental Machine Learning algorithms in a transparent and modular way.

> **_NOTE:_**  The implementations of these algorithms are not thoroughly optimized for high computational efficiency

## Installation

To install the package
```
$ pip install showml
```

To clone the repository and view the source files
```
$ git clone https://github.com/hasnainroopawalla/ShowML.git
$ cd ShowML
$ pip install -r requirements.txt
```

[How to Contribute](#contributing)
## Contents

### Algorithms
- Linear Regression (`from showml.supervised.regression import LinearRegression`)
- Logistic Regression (`from showml.supervised.regression import LogisticRegression`)

### Optimizers
- Stochastic/Batch/Mini-Batch Gradient Descent (`from showml.optimizers import SGD`)

### Loss Functions
- Mean Squared Error (`from showml.losses import MeanSquareError`)
- Binary Cross Entropy (`from showml.losses import BinaryCrossEntropy`)

## Contributing
1. Fork the repository
2. Install the necessary dependencies
```
$ pip install pre-commit mypy pytest
 ```
3. Commit and push your changes to your own branch
4. Before submitting a Pull Request, run these housekeeping checks locally
  - Run pre-commit
   ```
   $ pre-commit run -a
   ```
  - Run mypy
  ```
  $ mypy .
  ```
  - Run tests
  ```
  $ pytest
  ```
5. Once everything succeeds, create a Pull Request (CI will be triggered)


