Introduction to Recommendation Systems

Hey - Nick here! This page is a free excerpt from my new eBook Pragmatic Machine Learning, which teaches you real-world machine learning techniques by guiding you through 9 projects.

Since you're reading my blog, I want to offer you a discount. Click here to buy the book for 70% off now.

In this tutorial, you will receive a brief, code-free introduction to recommendation systems. We will follow this up by coding our first recommendation systems in the next tutorial.

Table of Contents

You can skip to a specific section of this recommendation systems tutorial using the table of contents below:

What Are Recommendation Systems?

Recommendation systems are used to find similar entries in a data set.

Perhaps the most common real-world example of a recommendation exists inside of Netflix. More specifically, its video streaming service will recommend suggested movies and TV shows based on content that you've already watched.

Another recommendation system is Facebook's "People You May Know" feature, which suggests possible friends for you based on your existing friends list.

Fully developed and deployed recommendation systems are extremely sophisticated. They are also very resource-intensive. Because of this, we'll only be discussing the basics of recommendation systems in this course.

Recommendation Systems and Linear Algebra

Fully-fledged recommendation systems require a deep background in linear algebra to build from scratch.

Because of this, there might be concepts in this section that you do not understand if you've never studied linear algebra before.

Don't worry, though - scikit-learn makes it very easy to build recommendation systems and you do not actually require any linear algebra background to continue through this course.

How Do Recommendation Systems Work?

There are two main types of recommendation systems:

  • Content-based recommendation systems
  • Collaborative filtering recommendation systems

Content-based recommendation systems give you recommendations based on items' similarity ot items that you've already used. They behave exactly how you'd expect a recommendation system to.

Collaborative filtering recommendation systems produce recommendations based on knowledge of the user's interactions with items. Said differently, they use the wisdom of the crowd (hence the term "collaborative" in its name.

In the real world, collaborative filtering recommendation systems are much more common than content-based systems. This is primarily because they typically give better results. Some practitioners also find collaborative filtering recommendation systems easier to understand.

Collaborative filtering recommendation systems also have a unique feature that content-based systems are missing .Namely, they have the ability to learn features on their own.

This means that they can start identifying similarities between items based on attributes that you haven't even told them to consider!

There are two subcategories within collaborative filtering:

  • Memory-based collaborative filtering
  • Model-based collaborative filtering

You don't need to know the differences between these two types of collaborative filtering recommendation systems to be successful in this course. It is enough to recognize that multiple types exist.

Final Thoughts

In this tutorial, you received your first code-free introduction to machine learning recommendation systems. We'll follow this up by coding our first Python recommendation system in our next lesson.

Here is a brief summary of what we discussed in this tutorial:

  • Examples of recommendation systems in the real world
  • The different types of recommendation systems, and how collaborative filtering systems are more commonly used than content-based recommendation systems
  • The relationship between recommendation systems and linear algebra