There are two goals of this project
- To practice object oriented programming in Python
- To improve Machine Learning skills by implementing algorithms from scratch
We start with the simplest of the machine learning algorithms - Linear Regression. Three optimisers have been coded up
Particle Swarm Optimisation (PSO) allows us to optimise custom loss functions. The nice thing here is unlike gradient descent type algorithms, the loss function does not have to be differntiable. In this notebook I demonstrate how we can take advantage of this by optimising a range of custom loss functions. I also test whether the resulting models are significantly different from each other, using the boston housing dataset.
- Object Orientated Programming
- Optimisation (OLS, Gradient Descent, Particle Swarm)
- Python
Tests can be run from the main directory using
python -m unittest discover