https://medium.com/@monocosmo77/how-to-work-with-manifold-learning-part1-machine-learning-9764eb175a71