Since Spark's recommendation models currently only include an implementation of Matrix factorization, we will focus our attention on this class of models. This focus is with good reason; however, these types of models have consistently been shown to perform extremely well in collaborative filtering and were among the best models in well-known competitions, such as the Netflix prize.
Matrix Factorization assumes that:
- Each user can be described by n attributes or features. For example, feature one might be a number that says how much each user likes action movies.
- Each item can be described by a set of n attributes or features. To connect with the preceding example, feature one for the movie might be a number that says ...