Collaborative filtering is the most commonly used technique for recommender systems. It has an interesting property—it learns the features on its own. So, in the case of movie ratings, we do not need to provide actual human feedback on whether the movie is romantic or action.
As we saw in the Introduction section that movies have some latent features, such as genre, in the same way users have some latent features, such as age, gender, and more. Collaborative filtering does not need them, and figures out latent features on its own.
We are going to use an algorithm called Alternating Least Squares (ALS) in this example. This algorithm explains the association between a movie and a user based on a small number of latent features. It uses three training parameters: rank, number of iterations, and lambda (explained later in the chapter). The best way to figure out the optimum values of these three parameters is to try different values and see which...