Mastering Machine Learning from Scratch