Most of us have experienced the uncanny accuracy of recommender systems before. For example, you were online shopping for a new keyboard one day, and then haunted by ads for other keyboards on your Instagram feed for weeks. Perhaps you liked a funny TikTok of a pig, and now your For You Page is all farm animal content. Or maybe you binge-watched Love Is Blind and Netflix won’t stop suggesting other reality dating shows.
The technology that helps guide individuals towards products is a machine learning algorithm called a “recommender system.” From the way we shop, to how we get our news, and even how we meet people, recommender systems are practically ubiquitous in our lives.
“We live in an attention economy, where there’s an overwhelming number of things, and recommender systems help us make decisions,” says Nitya Mandyam, Senior Curriculum Developer at Codecademy. “It’s impossible to think of buying a shoe or a dress without having some kind of recommender system on the side giving you suggestions.”
In the new Codecademy path Build a Recommender System, you’ll get to look under the hood at how applications really get to know you, how these algorithms pinpoint options relevant to a user’s personal taste, and what it takes to code a successful recommender system. Here’s what you need to know about recommender systems, and how to start learning today.
What is a recommender system?
Recommender systems are algorithms that make recommendations to users about the best option to choose from a set of options. Of course, the “best” option is going to vary from person to person, which is why recommender systems turn to data about products and users’ preferences to generate individualized suggestions.
Unlike supervised machine learning models, which will predict an exact answer to a question or problem, recommender systems are preference-based, Nitya says. “A recommender system is a combination of human and machine interaction that decides whether something is good or a bad outcome,” she adds.
What are recommender systems used for?
Recommender systems are ideal for situations where users have a lot of options to choose from — like deciding which show to stream on Netflix, or wading through the sea of products on Amazon. Online dating apps use recommender systems to match people with a potential romantic partner based on similar factors, like their location and hobbies. Even social media platforms use recommender systems to determine what shows up in your feed.
Recommender systems are so ingrained in our lives that we’ve come to expect these tailored suggestions and recommendations from the technology we use. As a developer, it’s important to realize that users want systems that capture their tastes or interests — otherwise they might stop using it, Nitya says.
Tons of businesses rely on recommender systems to keep customers engaged with their product and earn more money. In ecommerce, for example, recommender systems can point customers to products that they’re more inclined to buy based on their past behaviors and purchases. Businesses can also learn a lot about their customers based on this data, and use it to inform other decisions.
How do you build a recommender system?
Creating a recommender system requires a combo of data science, software engineering, infrastructure, product, and design skills. The general-purpose programming language Python is used to create recommender systems. You’ll also need to use a little bit of algebra for recommender systems, but don’t be intimidated — the math involved is relatively easy to understand, Nitya says. In the path Build a Recommender System, we’ll walk you through the Python, machine learning, and basic math concepts necessary to make a recommender system.
There are a few types of recommender system techniques that take different approaches to finding that “best” option for a user. In the path Build a Recommender System and the free course Learn Recommender Systems, we’ll focus on collaborative filtering, which is a method that generates recommendations based on ratings information from similar users. With collaborative filtering, the idea is that people who have similar ratings for items tend to have similar tastes.
How will learning recommender systems help my career?
As more and more companies start using recommender systems in their businesses, organizations will need to hire people who have both domain expertise and technical know-how.
For people interested in data science and machine learning, recommender systems are just plain cool because they allow you to apply technical skills to a non-technical problem, like shoe shopping or streaming television shows, Nitya says. “You can apply data science and machine learning skills to quantify something that is seemingly unquantifiable, and get really good results,” she says. If you’re hoping to have a career in machine learning, recommender systems are a valuable skill that employers are looking for in job candidates.
And for folks who are interested in other areas of programming, recommender systems are a really good gateway into data science and machine learning, Nitya says. The path Build a Recommender System will teach you everything you need to know, even if you’re a beginner. “You don’t need to know that much, and we’re going to hold your hand from beginning to end in terms of how to build a system,” she adds.
Get started with recommender systems
Want to learn the technical skills needed to build a recommender system? You can jump in with our beginner-friendly path Build a Recommender System, where you’ll learn how to use Python, get introduced to basic machine-learning models, and put your knowledge to the test coding a recommender system.
If you’re already familiar with Python and Pandas, you might want to consider the intermediate course Learn Recommender Systems. In this free course, you’ll learn how to use a Python library called Surprise to create a recommender system for books. Surprise (short for “Simple Python Recommendation System Engine”) is an extension of the numerical computation library SciPy, and has built-in modules that are designed specifically for recommender systems.
Recommender systems are just one example of how machine learning touches our daily lives and decisions. To learn more about the exciting computer science specialty, check out all of Codecademy’s machine learning courses. A great place to start if you know Python but are new to machine learning is the course Learn the Basics of Machine Learning, or check out the path Get started with Machine Learning.
If your goal is to get a job in machine learning, you can dig deeper with the beginner-friendly career path Data Scientist: Machine Learning Specialist to learn more about what it takes to become a data-driven decision maker. And if you’ve never coded before but are inspired to start, try our popular course Learn Python 3.