https://github.com/upul/machine-learning-algorithms-from-scratch
A collection of commonly used machine learning algorithms implemented in Python/Numpy
https://github.com/upul/machine-learning-algorithms-from-scratch
implementation ipython-notebook machine-learning pyhton3 tutorial
Last synced: 8 months ago
JSON representation
A collection of commonly used machine learning algorithms implemented in Python/Numpy
- Host: GitHub
- URL: https://github.com/upul/machine-learning-algorithms-from-scratch
- Owner: upul
- License: apache-2.0
- Created: 2018-11-03T10:02:42.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-11-14T19:59:03.000Z (almost 6 years ago)
- Last Synced: 2025-02-01T10:23:10.188Z (8 months ago)
- Topics: implementation, ipython-notebook, machine-learning, pyhton3, tutorial
- Language: Jupyter Notebook
- Homepage:
- Size: 1.96 MB
- Stars: 48
- Watchers: 5
- Forks: 24
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Machine Learning Algorithms From Scratch
This repository contains a collection of commonly used machine learning algorithms implemented in **`Python/Numpy`**. No other third-party libraries (except **`Matplotlib`**) are used.
## :bookmark_tabs: Table of Contents
- [Introduction](#introduction)
- [Usage](#usage)
- [Prerequisite](#prerequisite)
- [Algorithms](#algorithms)
- [Resources](#resources)
- [Text Books](#text-books)
- [MOOCs and Videos](#moocs-and-videos)### :loudspeaker: Introduction
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.
### :hammer: Usage
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.
1. Clone the repository: **`https://github.com/upul/Machine-Learning-Algorithms-From-Scratch.git`**
2. Go to local repository location: **`cd Machine-Learning-Algorithms-From-Scratch`**
3. Run notebooks: **`jupyter notebook`**### :capital_abcd: Prerequisite
In order to successfully following `Jupyter` notebooks, we assume that you have a basic understanding of the following areas.
1. Basic programming experience in Python
2. Introductory knowledge of linear algebra
3. Basic probability theory
4. Basic multi-variate calculus### :nut_and_bolt: Algorithms
* Supervised
* Classification
* Logistic Regression [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/classification/Logistic_Regression.ipynb)
* Linear Discriminant Analysis
* Decision Tree Classifier [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/classification/Classification_Tree.ipynb)
* Ransom Forest Classifier
* Gradient Boosting Classifier
* Regression
* Linear Regression [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/regression/Linear_Regression.ipynb)
* Ridge Regression
* Lasso Regression
* Decision Tree Regression [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/regression/Decision_Tree_Regression.ipynb)
* Unsupervised
* Clustering
* K-Means
* Gaussian Mixture### :open_file_folder: Resources
- #### :books: Text BooksFollowing 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.
![]()
![]()
![]()
![]()
- #### :movie_camera: MOOCs and Videos
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](https://www.youtube.com/playlist?list=PLE6Wd9FR--EdyJ5lbFl8UuGjecvVw66F6) A graduate level machine learning course taught by prof: Nando de Freitas
- [Foundations of Machine Learning - Bloomberg](https://www.youtube.com/playlist?list=PLnZuxOufsXnvftwTB1HL6mel1V32w0ThI) Really advanced introduction to machine learning taught by prof: David S. Rosenberg