• National Tsing Hua University logo

Recommender Systems in Python

Learn what recommender systems are, why they’ve become so popular, and how AI could help you implement your own.

578 enrolled on this course

Blue graphic of an artificial intelligence flowchart diagram.

Recommender Systems in Python

578 enrolled on this course

  • 6 weeks

  • 3 hours per week

  • Digital certificate when eligible

  • Intermediate level

Find out more about how to join this course

Build a recommender system with National Tsing Hua University

If you’ve ever watched a recommended film on Netflix or listened to a suggested playlist on Spotify, you have used a recommender system.

On this six-week course from National Tsing Hua University, you’ll learn why so many platforms incorporate recommender systems, and how you can use Python to build your own.

Learn what recommender systems are and why so many platforms are using them

Recommender systems use complex data sets and machine learning to bring you tailored recommendations for your consumption.

The course will start with an introduction to the concept and influence of recommender systems, reviewing some of the most popular models and explaining why they have become so popular among big tech platforms.

Explore different approaches to building a recommender system

Once you’ve understood the concept and influence of recommender systems, you’ll get stuck in analysing different approaches to building them.

In Weeks 2, 3, and 4 of the course, you’ll learn how to build a recommender system in Python, using each of a variety of different approaches.

Discover the role of AI in developing recommender systems

The last three weeks of the course will explore the role AI and machine learning play in developing and enhancing recommender systems.

You’ll learn how algorithmic data can be used to make more sophisticated recommendations.

By the end of the course, you’ll have the expertise and programming skills you need to start building your first recommender system.


  • Week 1

    Recommender systems and their applications

    • Introduction to Recommender Systems

      Define a recommender system and identify why we need it.

    • Recommendation Approaches

      Identify different recommendation approaches.

    • Recommender Implementation and Evaluation

      Identify steps of building a recommender. Recognize how to evaluate a recommender.

    • Python Practice

      Install Python development environment and run Python programs.

    • Datasets

      Explore what a dataset is and why it is important to build a recommender system.

    • Lecture Notes and Source Code

      Download lecture notes and source code and explore them.

  • Week 2

    Fundamental Recommenders

    • Data Collection

      Collect the data that we use to build a recommender. Look into the details of the data items.

    • Data Organization and Metrics

      Organize and prepare data for a recommender. Identify and design metrics for recommenders.

    • A Recommender based on Certain Metrics

      Build a recommender based on a certain metric.

    • A Recommender based on User’s Preferences

      Build a recommender based on user’s preferences.

    • A Recommender based on Similarities

      Build a recommender based on similarities.

  • Week 3

    Content-based Recommender

    • Content-based Filtering

      Explore content-based filtering. Explore the dataset used to illustrate the content-based filtering.

    • A Content-based Recommender

      Explore the dataset again for a recommender. Design metrics for a recommender.

    • TF-IDF for a Recommender

      Calculate TF-IDF for a recommender.

    • A Content-based Recommender using TF-IDF

      Calculate cosine similarity for a recommender. Build a content-based recommender using TF-IDF.

  • Week 4

    Collaborative Filtering Recommender

    • Collaborative Filtering

      Explore collaborative filtering

    • A User-Based CF Recommender

      Build a user-based collaborative filtering recommender

    • An Item-based CF Recommender

      Build a item-based collaborative filtering (CF) recommender

    • Matrix Factorization

      Explore matrix factorization and its role in collaborative filtering (CF) recommenders.

    • A Model-Based CF Recommender

      Build a model-based collaborative filtering recommender

  • Week 5

    Artificial Intelligence (AI) and Machine Learning (ML)

    • AI, Machine and Deep Learning

      Explore AI, machine learning, and deep learning.

    • Machine Learning: Regression

      Use linear regression for prediction tasks.

    • Machine Learning: K-Means

      Use K-means to cluster data points.

    • Machine Learning: K-Nearest Neighbors (KNN)

      Use K-Nearest Neighbors (KNN) to classify data points.

    • Deep Learning

      Build a deep learning application.

  • Week 6

    Machine Learning Recommender

    • Recommenders using Machine Learning

      Explore recommenders using machine learning.

    • A Recommender using Linear Regression

      Build a recommender using linear regression.

    • A Recommender using K-means

      Build a recommender using K-means.

    • A Recommender using K-Nearest Neighbors (KNN)

      Build a recommender using K-Nearest Neighbors (KNN)

    • A Recommender using Deep Learning

      Build a recommender using Neural Networks.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

  • Available now

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Enhanced learning, personalized recommendations, improved engagement, adaptive skills development, and a competitive edge in articulating achievements to potential employers.
  • Comprehensive user data, refined recommendations, improved personalization, enhanced user experience, and a competitive advantage in offering tailored content, fostering engagement, and articulating individual achievements effectively.
  • Efficient algorithms, accurate predictions, enhanced user experience, improved engagement, and personalized learning journeys, leading to adaptive skill development and a competitive advantage in articulating achievements.
  • Informed decision-making, refined suggestions, improved personalization, enhanced user experience, and a competitive advantage in offering tailored content, fostering engagement, and articulating individual achievements effectively.
  • Precision in recommendations, optimized user experience, increased engagement, and a personalized learning journey, resulting in adaptive skill development and a competitive edge in articulating achievements.

Who is the course for?

This course is designed for computer programmers interested in learning more about recommender systems and how to build them in Python.

Learners will need a basic understanding of computer programming to get the most out of this course.

Who will you learn with?

Chin-Chih Chang is an assistant professor in the Dept. of Comp. Sci. and Info. Eng., Chung Hua University, Hsinchu, Taiwan. His research interests include deep learning, recommender systems, etc.

Who developed the course?

National Tsing Hua University (NTHU)

National Tsing Hua University in Taiwan consistently ranks as one of the premier universities in East Asia.

  • Established

  • Location

  • World ranking

    Top 170Source: QS World University Rankings 2021

Ways to learn

Subscribe & save

Buy this course

Limited access

Choose the best way to learn for you!

$349.99 for one year

Automatically renews

$99/one-off payment


Develop skills to further your careerFulfill your current learning needSample the course materials
Access to this courseticktick

Access expires 1 Sep 2024

Access to 1,000+ coursestickcrosscross
Learn at your own paceticktickcross
Discuss your learning in commentstickticktick
Tests to check your learningticktickcross
Certificate when you're eligibleDigital onlyPrinted and digitalcross
Continue & Upgrade

Cancel for free anytime

Ways to learn

Choose the best way to learn for you!

Buy this course

$99/one-off payment

Fulfill your current learning need

  • Access to this course
  • Learn at your own pace
  • Discuss your learning in comments
  • Tests to boost your learning
  • Printed and digital certificate when you’re eligible

Subscribe & save

$349.99 for one year

Automatically renews

Develop skills to further your career

  • Access to this course
  • Access to 1,000+ courses
  • Learn at your own pace
  • Discuss your learning in comments
  • Tests to boost your learning
  • Digital certificate when you're eligible

Cancel for free anytime

Limited access


Sample the course materials

  • Access expires 1 Sep 2024

Find out more about certificates, Unlimited or buying a course (Upgrades)

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Do you know someone who'd love this course? Tell them about it...