In this chapter, we will learn about different approaches for developing recommender systems. Then we will learn how to develop a book recommendation system. Technically, it will be a model-based recommendation engine based on alternating least squares (ALS) and matrix factorization algorithms. We will use Spark MLlib-based implementation of these algorithms in Scala. In a nutshell, we will learn the following topics throughout this chapter:
- Overview of recommendation systems
- Similarity-based recommender system
- Content-based recommender system
- Collaborative approaches
- Hybrid recommendation systems
- Developing a model-based book recommendation system