https://medium.com/@monocosmo77/how-dimension-reduction-techniques-work-part2-machine-learning-a66ca1cf0682