This repository is inspired by the course COSC 74/274: Machine Learning and Statistical Data Analysis taught by Professor Soroush Vosoughi at Dartmouth College. In the course, students learn the mathematical intution behind popular machine learning algorithms by implementing them in Python using only the NumPy and Autograd libraries. It is my hope that this repository will help others learn about machine learning in a way that could not be done by utilizing functions from existing libraries. I will also update this repository periodically as I implement more algorithms.
The project contains four folders: notebooks, source, tests, and data. The notebooks directory contains the original implementations of machine learning algorithms in Jupyter Notebook that I implemented for COSC 74. The source directory generally contains the same code but the code has been grouped into classes with related methods like fit and predict. The tests directory contains small Jupyter Notebooks that run each of the implementations and usually have some kind of plot. The data directory contains datasets used for testing the implementations.
For any questions or any questions or to report ay errors I may have made, please open an issue.