Understand that collaborative filtering uses the behavior of others to make recommendations.
- [Instructor] Collaborative filtering systems make recommendations only based on how users rated products in the past, not based on anything about the products themselves. In collaborative filtering, the recommendation system has no knowledge of the actual product it is recommending. It only knows how other users rated the product. It uses those past ratings to make new recommendations. Here's a table of movies and the ratings that users gave to those movies. Let's say we want to recommend a movie to John. Should we recommend Sabrina or Notorious? We can see that John's past reviews are very similar to Bob's reviews.
They both game Roman Holiday five stars and The Third Man one star. It seems like there's some overlap in their tastes. Also, we can see that Bob loves Sabrina but didn't like Notorious. That might give us a clue for how John would react. We can also see that Susan and Alice seem to have tastes that are very different than Bob. Maybe that can give us some clues, too. By looking at all the other users and how they rated movies so far, it seems most likely that Bob would give Sabrina a high rating and Notorious a low rating, so we'll recommend Sabrina to Bob.
This is an example of collaborative filtering. We don't know anything at all about each movie. We don't even really need to know their titles. Just by knowing how all the users rated each product in the past, we can pick out new products that Bob will like. Collaborative filtering has a very big advantage over content-based recommendations. The advantage is that you don't even need to know anything about the products that you're recommending. As long as you have user review data, you can build a collaborative filtering recommendation system. But collaborative filtering does have some limitations.
It only works when you already have user reviews to work from. If you don't have any reviews, you can't make recommendations. That means it's difficult to recommend products to brand new users because new users haven't reviewed any products yet. And finally, collaborative filtering tends to favor products with lots of reviews over products with few reviews. This can make it hard for users to discover new releases since they aren't likely to get recommended as often.
Recommendation systems are a key part of almost every modern consumer website. The systems help drive customer interaction and sales by helping customers discover products and services they might not ever find themselves. The course uses the free, open source tools Python 3.5, pandas, and numpy. By the end of the course, you'll be equipped to use machine learning yourself to solve recommendation problems. What you learn can then be directly applied to your own projects.
- Building a machine learning system
- Training a machine learning system
- Refining the accuracy of the machine learning system
- Evaluating the recommendations received