Skip to main content

A Python package of Machine Learning Algorithms implemented from scratch

Project description

ShowML Logo


Develop Deploy PyPi version Python versions Downloads

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)
  • Non-Linear

    • Sequential (showml.deep_learning.model.Sequential)

Deep Learning

  • Layers

    • Dense (showml.deep_learning.layers.Dense)
  • Activations

    • Sigmoid (showml.deep_learning.activations.Sigmoid)
    • ReLu (showml.deep_learning.activations.Relu)
    • Softmax (showml.deep_learning.activations.Softmax)

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

  1. Fork the repository.
  2. Commit and push your changes to your own branch.
  3. Install and run the necessary housekeeping dependencies (pre-commit, mypy and pytest):
    $ pip install pre-commit mypy pytest
    
  4. Run these housekeeping checks locally and make sure all of them succeed (required for the CI to pass):-
    $ pre-commit run -a
    $ mypy .
    $ pytest
    
  5. Open a Pull Request and I'll review it.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

showml-1.6.12.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

showml-1.6.12-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file showml-1.6.12.tar.gz.

File metadata

  • Download URL: showml-1.6.12.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for showml-1.6.12.tar.gz
Algorithm Hash digest
SHA256 8efb13829fb06a45e39d0c29ee35e215f39547e03cfc6c170deb0753dd568bfe
MD5 64b183816e144f5022d5729e4cc9560d
BLAKE2b-256 9b8e8e870b82b6a128e5e4a02e635cbef9160232225919292637a11bad84262a

See more details on using hashes here.

File details

Details for the file showml-1.6.12-py3-none-any.whl.

File metadata

  • Download URL: showml-1.6.12-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.14

File hashes

Hashes for showml-1.6.12-py3-none-any.whl
Algorithm Hash digest
SHA256 0029ec29d5d789074725d7b7792e97a7b0d636d931817536ec03b5c4034e5d37
MD5 b7818e96157cd74415240addae666fe4
BLAKE2b-256 1aca7603b38e20d8218c1ef872bde1ca0e5b9e71f0515619cb3937cdf94a299d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page