https://medium.com/@monocosmo77/working-with-sparse-linear-models-part2-machine-learning-3c7e1ca21655