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%;<pathtodirectory>\ShowML
 For MacOS:
$ export PYTHONPATH=/<pathtodirectory>/ShowML:$PYTHONPATH
 For Linux:
$ export PYTHONPATH="${PYTHONPATH}:/<pathtodirectory>/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 (

NonLinear
 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/MiniBatch 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 (precommit, mypy and pytest):
$ pip install precommit mypy pytest
 Run these housekeeping checks locally and make sure all of them succeed (required for the CI to pass):
$ precommit 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.