{"id":15195456,"url":"https://github.com/upul/machine-learning-algorithms-from-scratch","last_synced_at":"2025-10-28T01:30:36.242Z","repository":{"id":90171138,"uuid":"155970805","full_name":"upul/Machine-Learning-Algorithms-From-Scratch","owner":"upul","description":"A collection of commonly used machine learning algorithms implemented in Python/Numpy","archived":false,"fork":false,"pushed_at":"2019-11-14T19:59:03.000Z","size":2059,"stargazers_count":48,"open_issues_count":0,"forks_count":24,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-01T10:23:10.188Z","etag":null,"topics":["implementation","ipython-notebook","machine-learning","pyhton3","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/upul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-03T10:02:42.000Z","updated_at":"2025-01-26T02:36:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"ea7507f9-35b1-4b55-b057-1dbf268bac5c","html_url":"https://github.com/upul/Machine-Learning-Algorithms-From-Scratch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upul%2FMachine-Learning-Algorithms-From-Scratch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upul%2FMachine-Learning-Algorithms-From-Scratch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upul%2FMachine-Learning-Algorithms-From-Scratch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upul%2FMachine-Learning-Algorithms-From-Scratch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upul","download_url":"https://codeload.github.com/upul/Machine-Learning-Algorithms-From-Scratch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238579176,"owners_count":19495510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["implementation","ipython-notebook","machine-learning","pyhton3","tutorial"],"created_at":"2024-09-27T23:23:55.274Z","updated_at":"2025-10-28T01:30:35.823Z","avatar_url":"https://github.com/upul.png","language":"Jupyter Notebook","readme":"# Machine Learning Algorithms From Scratch\n\nThis repository contains a collection of commonly used machine learning algorithms implemented in **`Python/Numpy`**. No other third-party libraries (except **`Matplotlib`**) are used. \n\n## :bookmark_tabs: Table of Contents\n- [Introduction](#introduction)\n- [Usage](#usage)\n- [Prerequisite](#prerequisite)\n- [Algorithms](#algorithms)\n- [Resources](#resources)\n    - [Text Books](#text-books)\n    - [MOOCs and Videos](#moocs-and-videos)\n\n### :loudspeaker: Introduction\n\nThis repository contains a collection of commonly used machine learning algorithms implemented in **`Python/Numpy`**. No other third-party libraries (except **`Matplotlib`**) are used. \n\nAlgorithms are implemented in `Jupyter` notebooks. Before starting the coding section, we presented the basic intuition of the algorithm along with necessary mathematical derivations.\n\nOptimized and computationally efficient algorithms were not our intention and we just wanted to produce an accessible collection of algorithms for students and software practitioner. \n\n### :hammer: Usage\n\nIf 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.\n1. Clone the repository: **`https://github.com/upul/Machine-Learning-Algorithms-From-Scratch.git`**\n2. Go to local repository location: **`cd Machine-Learning-Algorithms-From-Scratch`**\n3. Run notebooks: **`jupyter notebook`**  \n\n### :capital_abcd: Prerequisite\n\nIn order to successfully following `Jupyter` notebooks, we assume that you have a basic understanding of the following areas.\n\n1. Basic programming experience in Python\n2. Introductory knowledge of linear algebra\n3. Basic probability theory\n4. Basic multi-variate calculus\n\n### :nut_and_bolt: Algorithms\n* Supervised\n  * Classification \n      * Logistic Regression [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/classification/Logistic_Regression.ipynb)\n      * Linear Discriminant Analysis \n      * Decision Tree Classifier [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/classification/Classification_Tree.ipynb)\n      * Ransom Forest Classifier\n      * Gradient Boosting Classifier\n  * Regression\n      * Linear Regression [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/regression/Linear_Regression.ipynb)\n      * Ridge Regression\n      * Lasso Regression\n      * Decision Tree Regression [nbviewer](https://nbviewer.jupyter.org/github/upul/Machine-Learning-Algorithms-From-Scratch/blob/master/supervised/regression/Decision_Tree_Regression.ipynb)\n* Unsupervised\n    * Clustering\n        * K-Means\n        * Gaussian Mixture\n\n### :open_file_folder: Resources\n- #### :books: Text Books\n\nFollowing 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.\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"images/bishop.jpg\" width=\"100px\" height=\"120px\"/\u003e\n  \u003cimg src=\"images/simon.jpg\"  width=\"100px\" height=\"120px\"/\u003e \n  \u003cimg src=\"images/kevin.jpg\"  width=\"100px\" height=\"120px\"/\u003e\n  \u003cimg src=\"images/james.jpg\"  width=\"100px\" height=\"120px\"/\u003e\n\u003c/p\u003e\n\n- #### :movie_camera: MOOCs and Videos\nFollowing 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.\n\n- [Machine Learning - UBC](https://www.youtube.com/playlist?list=PLE6Wd9FR--EdyJ5lbFl8UuGjecvVw66F6) A graduate level machine learning course taught by prof: Nando de Freitas\n- [Foundations of Machine Learning - Bloomberg](https://www.youtube.com/playlist?list=PLnZuxOufsXnvftwTB1HL6mel1V32w0ThI) Really advanced introduction to machine learning taught by prof: David S. Rosenberg","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupul%2Fmachine-learning-algorithms-from-scratch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupul%2Fmachine-learning-algorithms-from-scratch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupul%2Fmachine-learning-algorithms-from-scratch/lists"}