Content-based filtering
In this section, we're going to wrap up our discussion around recommender systems by introducing an entirely separate approach to computing similarities and look at how we can use it to augment our collaborative filtering systems.
Content-based recommenders operate similarly to the original item-to-item collaborative system that we saw earlier, but they don't use ratings data to compute the similarities. Instead, they compute the similarities directly by using provided attributes of the items in the catalog. Predictions can then be computed in the same fashion as item-to-item collaborative filtering by calculating the product of the ratings matrix and similarity matrix.
Here's an example of how we might use content vectors to directly compute the item similarity matrix:
import numpy as np from sklearn.metrics.pairwise import cosine_similarity ratings = np.array(([5.0, 1.0, 0.0, 0.0, 2.5, 4.5, 0.0, 0.0], [0.0, 0.0, 3.5, 2.0, 3.0, 0.0, 0.0, 0.0]...