Understanding supervised and unsupervised ML