https://pypy.pythonprogramminghelp.com/5-data-driven-to-classification/