Booking options
£44.99
£44.99
On-Demand course
11 hours 24 minutes
All levels
Are you fascinated with Netflix and YouTube recommendations and how they accurately recommend content that you would like to watch? Are you looking for a practical course that will teach you how to build intelligent recommendation systems? This course will show you how to build accurate recommendation systems in Python using real-world examples.
This course will teach you how to use Python, artificial intelligence (AI), machine learning, and deep learning to build a recommender system. From creating a simple recommendation engine to building hybrid ensemble recommenders, you will learn key concepts effectively and in a real-world context. The course starts with an introduction to the recommender system and Python. Learn how to evaluate recommender systems and explore the architecture of the recommender engine framework. Next, you will learn to understand how content-based recommendations work and get to grips with neighborhood-based collaborative filtering. Moving along, you will learn to grasp model-based methods used in recommendations, such as matrix factorization and Singular Value Decomposition (SVD). Next, you will learn to apply deep learning, artificial intelligence (AI), and artificial neural networks to recommendations and learn how to scale massive datasets with Apache Spark machine learning. Later, you will encounter real-world challenges of recommender systems and learn how to solve them. Finally, you will study the recommendation system of YouTube and Netflix and find out what a hybrid recommender is. By the end of this course, you will be able to build real-world recommendation systems that will help users discover new products and content online. All the resource files are added to the GitHub repository at: https://github.com/packtpublishing/building-recommender-systems-with-machine-learning-and-ai
Get a basic overview of the architecture of recommender systems
Test and evaluate recommendation algorithms with Python
Use K-Nearest-Neighbors to recommend items to users
Find solutions to common issues with large-scale recommender systems
Make session-based recommendations with recurrent neural networks
Use Apache Spark to compute recommendations at a large scale on a cluster
This course is suitable for software developers, engineers, and computer scientists who are looking to build recommender systems using the principles of machine learning, deep learning, and artificial intelligence (AI). A basic understanding of Python programming and algorithms is needed to get started with this course.
This comprehensive course takes you all the way from the early days of collaborative filtering to bleeding-edge applications of deep neural networks and modern machine learning techniques for recommending the best items to every individual user.
You will learn with the help of real-world case studies, activities, and coding exercises throughout this course's journey.
Learn how to build recommender systems using various methods and algorithms * Apply real-world learnings from Netflix and YouTube to your recommendation projects * A comprehensive, hands-on, and filled with practical coding exercises to leverage your learnings
https://github.com/packtpublishing/building-recommender-systems-with-machine-learning-and-ai
Frank Kane has spent nine years at Amazon and IMDb, developing and managing the technology that automatically delivers product and movie recommendations to hundreds of millions of customers all the time. He holds 17 issued patents in the fields of distributed computing, data mining, and machine learning. In 2012, Frank left to start his own successful company, Sundog Software, which focuses on virtual reality environment technology and teaches others about big data analysis.
1. Getting Started
1. Installing Anaconda, Course Materials, and Creating Movie Recommendations This video demonstrates how to install Anaconda, highlights the course materials, and explains how to create movie recommendations. |
2. Course Roadmap This video provides the structure of the course and explains how to navigate through the course. |
3. What Is a Recommender System? This video introduces you to the concept of a recommender system. |
4. Types of Recommenders This video focuses on the type of recommenders. |
5. Understanding the Implicit and Explicit Ratings This video explains how the recommender system learns about individual tastes and preferences. It also explains how explicit and implicit ratings work, their strengths, and their weaknesses. |
6. Top-N Recommender Architecture This video introduces you to the top-N recommender architecture and explains a few architectural approaches to build top-N systems. |
7. Review the Basics of a Recommender System This video provides a review of the basic recommender system with a quick four-question quiz along with the answers. |
2. Introduction to Python
1. The Basics of Python (Activity) This video explains the basics of Python. |
2. Data Structures in Python This video introduces you to data structures in Python, such as lists, tuples, and dictionaries. |
3. Functions in Python This video demonstrates how to define a function in Python. |
4. Booleans, Loops, and a Hands-on Challenge (Exercise) This video explains how Boolean expressions and loops work in Python. It also provides a challenge to write a simple Python function. |
3. Evaluating a Recommender System
1. Train/Test and Cross-Validation This video explains how to perform train/test and cross-validation in a recommender system. |
2. Accuracy Metrics Using Root Mean Squared Error (RMSE) and Mean Absolute Error (MAE) This video explains how to find accuracy using the RMSE and MAE measures and highlights the need to use these measures of recommendation prediction accuracy. |
3. Top-N Hit Rate - Many Ways This video focuses on several ways to measure the accuracy of top-N recommenders, including hit rate, cumulative hit rate, average reciprocal hit rank, rating hit rate, and many more. |
4. Coverage, Diversity, and Novelty This video demonstrates how to measure the coverage of your recommender system and highlights how diverse and novel its results are. |
5. Churn, Responsiveness, and A/B Tests This video explains how to measure your recommendations change (churn,) how quickly they respond to new data (responsiveness), and why no metric matters more than the results of real, online A/B tests. |
6. Reviewing Ways to Measure Your Recommender (Quiz) This video provides a short quiz to review the different ways to measure the qualities and accuracy of your recommender system. |
7. Walkthrough of RecommenderMetrics.py (Activity) This video provides a walkthrough of this course's Python module for implementing the metrics on the recommender system. |
8. Walkthrough of TestMetrics.py (Activity) This video provides a walkthrough of TestMetrics.py. |
9. Measuring the Performance of Singular Value Decomposition (SVD) Recommendations (Activity) This video demonstrates how to measure the performance of a SVD recommender and explains how to interpret them. |
4. A Recommender Engine Framework
1. Recommender Engine Architecture This video focuses on the architecture of the recommender engine framework, which helps to easily implement, test, and compare different algorithms throughout this course. |
2. Recommender Engine Walkthrough - Part 1 (Activity) This is the first part of the two-part video that provides a code walkthrough of the recommender engine. |
3. Recommender Engine Walkthrough - Part 2 (Activity) This is the second part of the two-part video that provides a code walkthrough of the recommender engine. |
4. Reviewing the Results of Our Algorithm Evaluation (Activity) This video demonstrates how to review the results of the framework to evaluate the Singular Value Decomposition (SVD) algorithm and interpret them. |
5. Content-Based Filtering
1. Content-Based Recommendations and the Cosine Similarity Metric This video focuses on content-based recommendations and the cosine similarity metric. |
2. K-Nearest-Neighbors (KNN) and Content Recommendations This video explains the concept of KNN and content recommendations. |
3. Producing and Evaluating Content-Based Movie Recommendations (Activity) This video shows how to produce and evaluate content-based movie recommendations based on their genres and years and evaluate the results using the MovieLens dataset. |
4. A Note on Using Implicit Ratings This video explains how to use implicit ratings, such as a purchase or click data. |
5. Bleeding Edge Alert! Mise-En-Scene Recommendations (Activity) This video explains how to use the mise-en-scene data for providing additional content-based information to our recommendations. |
6. Diving Deep into Content-Based Recommendations (Exercise) This video explains the content-based recommendations in detail and how to augment content-based recommendations using popularity data. |
6. Neighborhood-Based Collaborative Filtering
1. Measuring Similarity and Sparsity This video explains how to measure similarity and sparsity. |
2. Similarity Metrics This video shows the different ways of measuring similarity, including cosine, adjusted cosine, Pearson, Spearman, Jaccard, and many more. |
3. User-Based Collaborative Filtering This video highlights the concept of user-based collaborative filtering. |
4. User-Based Collaborative Filtering - Hands-On (Activity) This video demonstrates how to write some code to apply user-based collaborative filtering to the MovieLens dataset. |
5. Item-Based Collaborative Filtering This video explains the item-based collaborative filtering and how it works. |
6. Item-Based Collaborative Filtering - Hands-On (Activity) This video shows how to write, run, and evaluate code to apply item-based collaborative filtering to generate recommendations from the MovieLens dataset and compare it to the user-based collaborative filtering. |
7. Tuning Collaborative Filtering Algorithms (Exercise) This video demonstrates how to improve the user-based and item-based collaborative filtering algorithms by tweaking the way candidate generation works. |
8. Evaluating Collaborative Filtering Systems Offline (Activity) This video explains how to evaluate collaborative filtering systems offline. |
9. Measuring the Hit Rate of Item-based Collaborative Filtering (Exercise) This video shows how to measure the hit rate of item-based collaborative filtering. |
10. K-Nearest-Neighbor (KNN) Recommenders This video demonstrates how to apply the ideas of neighborhood-based collaborative filtering into frameworks based on rating predictions with KNN recommenders. |
11. Running User-Based and Item-Based K-Nearest-Neighbor (KNN) on MovieLens Dataset (Activity) This video shows how to run a user-based and item-based KNN on MovieLens dataset and evaluate the results. |
12. Experimenting with Different K-Nearest-Neighbor (KNN) Parameters (Exercise) This is an exercise video focuses on the different K-Nearest-Neighbor (KNN) parameters. |
13. Bleeding Edge Alert! Translation-Based Recommendations This video provides a "bleeding edge alert" to discuss the translation-based recommendations. |
7. Matrix Factorization Methods
1. Principal Component Analysis (PCA) This video introduces you to PCA. |
2. Singular Value Decomposition (SVD) This video introduces you to SVD. |
3. Running Singular Value Decomposition (SVD) and Singular Value Decomposition (SVD ++) on MovieLens (Activity) This video demonstrates how to run SVD and SVD++ on MovieLens movie rating dataset and evaluate the results. |
4. Improving on Singular Value Decomposition (SVD) This video focuses on improving SVD. |
5. Tuning the Hyperparameters on Singular Value Decomposition (SVD) (Exercise) This video demonstrates how to modify the SVD bake-off code to find the optimal values of the various hyperparameters for SVD and see if it makes a difference in the results. |
6. Bleeding-Edge Alert! Sparse Linear Methods (SLIM) This video provides a bleeding edge alert on SLIM. |
8. Introduction to Deep Learning (Optional)
1. Deep Learning Introduction This video provides an introduction to deep learning. |
2. Deep Learning Prerequisites This video focuses on the prerequisites required for deep learning. |
3. History of Artificial Neural Networks (ANN) This video explains the history of ANN. |
4. (Activity) Playing with TensorFlow This video demonstrates how to use the TensorFlow playground to get a hands-on feel of how deep neural networks operate and the effects of different topologies. |
5. Training Neural Networks This video focuses on the mechanism of different activation functions and optimization functions for neural networks, including ReLU, Adam, RMSProp, and gradient descent. |
6. Tuning Neural Networks (Avoiding Overfitting) This video focuses on how to prevent overfitting using techniques such as dropout layers, and how to tune your topology for the best results. |
7. Activation Functions: More Depth This video explains the activation functions in detail. |
8. Introduction to TensorFlow This video introduces you to TensorFlow. |
9. Handwriting Recognition with TensorFlow - Part 1 (Activity) This is the first part of the two-part video that demonstrates how to implement handwriting recognition on real data using TensorFlow's low-level API. |
10. Handwriting Recognition with TensorFlow - Part 2 (Activity) This is the second part of the two-part video that explains how to implement handwriting recognition on real data using TensorFlow's low-level API. |
11. Introduction to Keras This video introduces you to Keras, a higher-level API that makes developing deep neural networks with TensorFlow a lot easier. |
12. Handwriting Recognition with Keras (Activity) This video demonstrates how to tackle the handwriting recognition using Keras API with much simpler code and better results. |
13. Classifier Patterns with Keras This video explains the different patterns to use in Keras API for multi-class or binary classification problems. |
14. Predicting Political Parties of Politicians with Keras (Exercise) This video provides a challenge to develop a neural network using Keras API to predict the political parties of politicians. |
15. Introduction to Convolutional Neural Network (CNN) This video provides an introduction to CNN. |
16. Convolutional Neural Network (CNN) Architecture This video focuses on the architecture of CNN. |
17. Handwriting Recognition with Convolutional Neural Network (CNN) (Activity) This video explains how to tackle handwriting recognition using CNN. |
18. Introduction to Recurrent Neural Networks (RNN) This video introduces you to RNN. They are appropriate for sequences of information, such as time-series data, natural language, or music. |
19. Training Recurrent Neural Networks (RNN) This video demonstrates how to train recurrent RNN that involves back-propagating through time. |
20. Sentiment Analysis of Movie Reviews Using Recurrent Neural Networks (RNN) and Keras (Activity) This video shows how to apply RNN to the problem of sentiment analysis, which can be modeled as a sequence-to-vector learning problem. |
21. Tuning Neural Networks This video explains how to tune neural networks. |
22. Neural Network Regularization Techniques This video focuses on neural network regularization techniques. |
23. Generative Adversarial Networks (GANs) This video explains about the Generative Adversarial Networks (GANs). |
24. GANs in Action This video demonstrates GANs in action. |
25. Generating Images of Clothing with Generative Adversarial Networks (Activity) This video demonstrates how to generate images of clothing using the Generative Adversarial Networks (GANs). |
9. Deep Learning for Recommender Systems
1. Introduction to Deep Learning for Recommenders This video provides an introduction to deep learning for recommenders. |
2. Restricted Boltzmann Machine (RBM) This video explains RBM using the recommender system. |
3. Recommendations with Restricted Boltzmann Machine (RBM) - Part 1 (Activity) This is the first part of the two-part video that explains how to build recommendations using RBM. |
4. Recommendations with Restricted Boltzmann Machine (RBM) - Part 2 (Activity) This is the second part of the two-part video that explains how to build recommendations using RBM. |
5. Evaluating the Restricted Boltzmann Machine (RBM) Recommender (Activity) This video focuses on evaluating the RBM recommender and studying its results. |
6. Tuning Restricted Boltzmann Machine (RBM) (Exercise) This video provides a challenge to tune the RBM using GridSearchCV. |
7. Exercise Results: Tuning a Restricted Boltzmann Machine (RBM) Recommender This video provides the results from the previous exercise to compare with the challenge results. |
8. Auto-Encoders for Recommendations: Deep Learning for Recommendation This video explains how to apply modern deep neural networks to the recommender system using auto-encoder. |
9. Recommendations with Deep Neural Networks (Activity) This video explains how to build recommendations using deep neural networks. |
10. Clickstream Recommendations with Recurrent Neural Networks (RNN) This video introduces you to "GRU4Rec," a technique that applies RNN to the problem of clickstream recommendations. |
11. Getting GRU4Rec to Work on Your Desktop (Exercise) This video provides a challenge to get GRU4Rec to work on the desktop. |
12. Exercise Results: GRU4Rec in Action This video reviews the results from the previous exercise. |
13. Bleeding Edge Alert! Generative Adversarial Networks for Recommendations This video explains the concept of Generative Adversarial Networks for Recommendations. |
14. TensorFlow Recommenders (TFRS): Introduction and Building a Retrieval Stage This video talks about the TensorFlow Recommenders (TFRS): Introduction and Building a Retrieval Stage. |
15. TensorFlow Recommenders (TFRS): Building a Ranking Stage This video talks about the TensorFlow Recommenders (TFRS): Building a Ranking Stage. |
16. TensorFlow Recommenders (TFRS): Incorporating Side Features and Deep Retrieval This video talks about the TensorFlow Recommenders (TFRS): Incorporating Side Features and Deep Retrieval. |
17. TensorFlow Recommenders (TFRS): Multi-Task Recommenders, Deep and Cross Networks, ScaNN, and Serving This video talks about the TensorFlow Recommenders (TFRS): Multi-Task Recommenders, Deep and Cross Networks, ScaNN, and Serving. |
18. Bleeding Edge Alert! Deep Factorization Machines This video explains the concept of deep factorization machine. |
19. More Emerging Tech to Watch This video focuses on a few more "bleeding edge" topics, including Word2Vec, 3D CNN's for session-based recommendations and feature extraction with CNNs. |
10. Scaling It Up
1. Introduction and Installation of Apache Spark (Activity) This video introduces you to Apache Spark and explains how to install it on the system. |
2. Apache Spark Architecture This video focuses on the Apache Spark architecture. |
3. Movie Recommendations with Spark, Matrix Factorization, and Alternating Least Squares (ALS) (Activity) This video demonstrates how to use Spark's MLLib to generate recommendations with ALS. |
4. Recommendations from 20 Million Ratings with Spark (Activity) This video explains how to process 20 million ratings and produce top-N recommendations with Apache Spark. |
5. Amazon Deep Scalable Sparse Tensor Network Engine (DSSTNE) This video explains the recommender engine called DSSTNE, which makes it easy to apply deep neural networks to massive, sparse datasets and produce great recommendations at a large scale. |
6. Amazon Deep Scalable Sparse Tensor Network Engine (DSSTNE) in Action This video demonstrates how to use Amazon DSSTNE on an EC2 Ubuntu instance to produce movie recommendations using a deep neural network. |
7. Scaling Up Amazon Deep Scalable Sparse Tensor Network Engine (DSSTNE) This video shows how Amazon scaled up DSSTNE and paired with Apache Spark to process their massive data and produce recommendations for millions of customers. |
8. Amazon Web Services (AWS) SageMaker and Factorization Machines This video introduces you to Amazon's SageMaker service that offers machine learning algorithms that can be used for recommendations, including factorization machines. |
9. Amazon SageMaker in Action: Factorization Machines on One Million Ratings in the Cloud This video demonstrates how to use the Amazon SageMaker from a cloud-hosted notebook to pre-process the MovieLens one-million-rating dataset. |
10. Other Systems of Note (Amazon Personalize, RichRelevance, Recombee, and More) This video introduces you to other system of note, such as Amazon Personalize, RichRelevance, Recombee, and many more. |
11. Recommender System Architecture This video explains the recommender system architecture that specifies how to deploy a recommender system into production based on the environment. |
11. Real-World Challenges of Recommender Systems
1. The Cold Start Problem (and Solutions) This video demonstrates how to make recommendations for a brand-new user or with brand-new items. |
2. Implementing Random Exploration (Exercise) This video explains how to implement random exploration of new items using underutilized slots in recommendation results. |
3. Exercise Solution - Random Exploration This video provides a walkthrough of random exploration with the results. |
4. Stoplists This video explains the concept of stoplists. |
5. Implementing a Stoplist (Exercise) This video provides a challenge on how to implement a stoplist to keep movies with potentially offensive titles out of your results entirely. |
6. Exercise Solution - Implementing a Stoplist This video provides a solution for implementing a stoplist. |
7. Filtering Bubbles, Trust, and Outliers This video shows how to filter bubbles, trust, and outliers. |
8. Identifying and Eliminating Outlier Users (Exercise) This video explains how to identify and eliminate outlier users. |
9. Exercise Solution: Outlier Removal This video provides a review of the implementation of outlier detection and removal along with the results. |
10. Fraud, the Perils of Clickstream, and International Concerns This video demonstrates how to prevent fraud, explains the perils of clickstream, and focuses on international concerns recommendations. |
11. Temporal Effects and Value-Aware Recommendations This video presents an overview of temporal effects and value-aware recommendations. |
12. Case Studies
1. Case Study: YouTube - Part 1 This video explains the challenges unique to recommendations at YouTube and highlights their high-level approach using deep learning. |
2. Case Study: YouTube - Part 2 This video provides a case study to dive deeper into YouTube architecture for applying deep learning to both candidate generation and candidate ranking. |
3. Case Study: Netflix - Part 1 This video focuses on the Netflix recommendations, their approach, and heavy use of hybrid algorithms. |
4. Case Study: Netflix - Part 2 This video provides a case study that explains how Netflix produces context-aware recommendations. |
13. Hybrid Approaches
1. Hybrid Recommenders and Exercise This video explains the concept of hybrid recommenders and provides a challenge to build a hybrid algorithm in the recommender framework that can combine any list of algorithms into one. |
2. Exercise Solution: Hybrid Recommenders This video focuses on the hybrid algorithm implementation and its results. |
14. Wrapping Up
1. More to Explore This video provides pointers to external books, conferences, and papers to keep you up-to-date after this course. |