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.
📝 Table of Contents
🏁 Getting Started
To install the package directly from PyPi:
$ 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
Remember to add ShowML/ to the PYTHONPATH environment variable before using locally:-
- For Windows:
$ set PYTHONPATH=%PYTHONPATH%;<path-to-directory>\ShowML - For MacOS:
$ export PYTHONPATH=/<path-to-directory>/ShowML:$PYTHONPATH - For Linux:
$ export PYTHONPATH="${PYTHONPATH}:/<path-to-directory>/ShowML"
Check out: showml/examples/
📦 Contents
ShowML currently includes the following content, however, this repository will continue to expand in order to include implementations of many more Machine Learning Algorithms.
Models
-
Linear
- Linear Regression (
showml.linear_model.regression.LinearRegression) - Logistic Regression (
showml.linear_model.regression.LogisticRegression)
- Linear Regression (
-
Non-Linear
- Sequential (
showml.deep_learning.model.Sequential)
- Sequential (
Deep Learning
-
Layers
- Dense (
showml.deep_learning.layers.Dense)
- Dense (
-
Activations
- Sigmoid (
showml.deep_learning.activations.Sigmoid) - ReLu (
showml.deep_learning.activations.Relu) - Softmax (
showml.deep_learning.activations.Softmax)
- Sigmoid (
Optimizers
- Stochastic/Batch/Mini-Batch Gradient Descent (
showml.optimizers.SGD) - Adaptive Gradient (
showml.optimizers.AdaGrad) - Root Mean Squared Propagation (
showml.optimizers.RMSProp)
Loss Functions
- Mean Squared Error (
showml.losses.MeanSquaredError) - Binary Cross Entropy (
showml.losses.BinaryCrossEntropy) - Categorical Cross Entropy (
showml.losses.CrossEntropy)
✏️ Contributing
- Fork the repository.
- Commit and push your changes to your own branch.
- Install and run the necessary housekeeping dependencies (pre-commit, mypy and pytest):
$ pip install pre-commit mypy pytest - Run these housekeeping checks locally and make sure all of them succeed (required for the CI to pass):-
$ pre-commit run -a $ mypy . $ pytest - Open a Pull Request and I'll review it.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Release files for showml 1.6.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| showml-1.6.12.tar.gz | 16.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| showml-1.6.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.6 kB
Release files / showml-1.6.12.tar.gz
| Download URL | showml-1.6.12.tar.gz |
|---|---|
| Size | 16.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8efb13829fb06a45e39d0c29ee35e215f39547e03cfc6c170deb0753dd568bfe
|
|
BLAKE2b-256 checksum How to use checksums |
9b8e8e870b82b6a128e5e4a02e635cbef9160232225919292637a11bad84262a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.14
|
Release files / showml-1.6.12-py3-none-any.whl
| Download URL | showml-1.6.12-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0029ec29d5d789074725d7b7792e97a7b0d636d931817536ec03b5c4034e5d37
|
|
BLAKE2b-256 checksum How to use checksums |
1aca7603b38e20d8218c1ef872bde1ca0e5b9e71f0515619cb3937cdf94a299d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.14
|