Striking the Balance between Supervised and Unsupervised Machine Learning