In this chapter, we talked about unsupervised machine learning and about two common unsupervised learning problems, dimensionality reduction and cluster analysis. We covered the most common algorithms from each type, including PCA and K-means. We also covered the existing implementations of these algorithms in Java, and implemented some of them ourselves. Additionally, we touched some important techniques such as SVD, which are very useful in general.
The previous chapter and this chapter have given us quite a lot of information already. With these chapters, we prepared a good foundation to look at how to process textual data with machine learning and data science algorithm--and this is what we will cover in the next chapter.