Skip to main content

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.

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

This release

1.6.12 This release

2 files

1.5.12

2 files

1.5.11

2 files

1.5.10

2 files

1.5.9

2 files

1.5.8

2 files

1.5.7

2 files

1.5.6

2 files

1.5.5

2 files

1.5.4

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.1

2 files

1.4.0

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.1.2

2 files

0.1.1

2 files

Supported by

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