When should I use unsupervised learning?

Unsupervised learning should be used when your data is unlabeled and your goal is to discover the inherent structure or pattern in the data. 

This approach is helpful for tasks like clustering, association, and dimensionality reduction.