https://medium.com/@monocosmo77/new-methods-involving-decision-trees-part1-machine-learning-c4f9d423994e