https://medium.com/@kensei.uchiha/a-software-engineers-guide-to-machine-learning-algorithms-4603386dfdd6