Learning Objectives

  • You will understand the different methods you might use to make recommendations

  • Understand common difficulties with building effective recommendation systems

  • How to deploy your recommendations

  • How to evaluate whether your recommendations are effective

Course Outline

Module 1: Getting Started

- What is a recommendation system? 

- Types of recommender systems.      

- Collaborative Filtering Recommenders     

- Demographic Recommenders   

- Content Based Recommenders 

- Utility Based Recommenders    

- Knowledge Based Recommenders 

- Business Cases for Recommendations      

- Relevance        

- Novelty       

- Serendipity        

- Increased Diversity 

- The Cold Start Problem Module


 Module 2: What data should I use? 

- Data Sources        

- User-item data (ratings)       

- User data (surveys)        

- Item data (text, product, etc.)        

- Knowledge data (user filters)

- Feature Engineering        

- Sparse vs. Dense Matrix Representations 

- Standardizing and Normalizing 

- Encoding Categorical Data        

- Encoding Text Data       

- Missing Values      

- Outliers Module 


Module 3: How do I find relevant recommendations?

- Measures of Similarity       

- Pearson's Correlation Coefficient       

- Cosine Similarity       

- Spearman's Correlation Coefficient       

- Jaccard Similarity 

- Collaborative Filtering      

- User-user collaborative filtering 

- Item-item collaborative filtering 

- Matrix Factorization       

- Latent Factors        

- FunkSVD Module 


Module 4: How do I know if my recommendations are good?

- Evaluating your recommendations       

- Train-test split       

- Classification metrics       

- Regression metrics       

- Cross-validation       

- Offline vs. online evaluation methods

- The cold start problem 

- Storing your model(s) for future use

Instructor's Bio: Joshua Bernhard

Josh has been sharing his passion for data science with others more than a decade. He found his passion for teaching while pursuing a PhD in Statistics at Iowa State University. He then went on to teach graduate and undergraduate courses as a part of the Business Analytics program at the University of Colorado. Before jumping full time into industry, he worked as the Curriculum Lead for the School of Data Science at Udacity, where he built data science courses that train data scientists around the world. In industry, Josh has used his skills to implement data science and machine learning solutions across industries from tax and auditing to healthcare. He currently works as a Data Scientist at NerdWallet, where he partners with product and marketing to help consumers make all the right money moves.

Who will be interested in this course?

  • This course is for current and aspiring Data Scientists, Data Analysts Machine Learning Engineers and AI Product Managers

  • Knowledge of following tools and concepts is useful:

  • Familiarity with Jupyter notebooks and

  • Basics of pandas dataframes

  • Understanding of matplotlib and numpy