https://medium.com/@monocosmo77/working-with-non-negative-matrix-factorization-part3-machine-learning-a2c24af0006f