In the previous chapter, covered with with machine learning in Java and discussed how to approach the supervised learning problem when the label information is provided.
Often, however, there is no label information, and all we have is just some data. In this case, it is still possible to use machine learning, and this class of problems is called unsupervised learning; there are no labels, hence no supervision. Cluster analysis belongs to one of these algorithms. Given some dataset, the goal is to group the items from there such that similar items are put into the same group.
Additionally, some unsupervised learning techniques can be useful when there is label information.
For example, the dimensionality reduction algorithm tries to compress the dataset such that most of the information is preserved and the dataset can be represented with fewer...