This repository contains a collection of commonly used machine learning algorithms implemented in Python/Numpy
. No other third-party libraries (except Matplotlib
) are used.
This repository contains a collection of commonly used machine learning algorithms implemented in Python/Numpy
. No other third-party libraries (except Matplotlib
) are used.
Algorithms are implemented in Jupyter
notebooks. Before starting the coding section, we presented the basic intuition of the algorithm along with necessary mathematical derivations.
Optimized and computationally efficient algorithms were not our intention and we just wanted to produce an accessible collection of algorithms for students and software practitioner.
If you want to read Jupyter
notebooks just like static document, please follow the nbviewer
links or else to execute notebooks locally use the following instructions.
- Clone the repository:
https://github.com/upul/Machine-Learning-Algorithms-From-Scratch.git
- Go to local repository location:
cd Machine-Learning-Algorithms-From-Scratch
- Run notebooks:
jupyter notebook
In order to successfully following Jupyter
notebooks, we assume that you have a basic understanding of the following areas.
- Basic programming experience in Python
- Introductory knowledge of linear algebra
- Basic probability theory
- Basic multi-variate calculus
- Supervised
- Unsupervised
- Clustering
- K-Means
- Gaussian Mixture
- Clustering
Following books were immensely helpful when we were preparing these Jupyter
notebooks. We believe these books should be available on every Machine Learning/Data Science practitioner's bookshelves.
Following MOOCs and Youtube playlists are simply amazing. If you want to broaden your Machine Learning knowledge I'm pretty sure those MOOCs and videos will be really helpful.
- Machine Learning - UBC A graduate level machine learning course taught by prof: Nando de Freitas
- Foundations of Machine Learning - Bloomberg Really advanced introduction to machine learning taught by prof: David S. Rosenberg