Introduction to Recommendation Systems
Abhishek Sharma
California
- 0 Collaborators
5 Basic Types of Recommendation Systems, How they Work, and When to use them. ...learn more
Project status: Published/In Market
Intel Technologies
Other
Overview / Usage
This project prototypes some of the most common types of recommendation systems, used at companies like LinkedIn, Amazon, and Netflix. Here is some more information about them.
- Popularity Based Recommender: The simplest type. Simply recommends the most popular items first. Useful when you don't have any data about your users.
- Correlation-based Recommender: Recommends items based on Pearson correlation between another from previous user ratings. Use when you have lots of user ratings for each product.
- Classification-based collaborative filter: Uses logistic regression to give personalized recommendation. Use when each product has a breadth of features which can distinguish it from others.
- Model-based collaborative filter: Build model from user ratings, make recommendations from model. Uses the singular value decomposition. Most mathematically complex model, and has the power to discover latent factors in your data. This is the most versatile version.
- Content-based recommendation: Recommends items based on feature similarity. Uses kNN. Use when you have a dense catalog of products. Use when no user ratings are available.
Methodology / Approach
My goal was to analyze the use of machine learning in real world systems. The three companies I described serve a total customer base in the billions. Recommendations are a core component of their service, which can be greatly aided by machine learning. For example, we can use the Singular Value Decomposition to discover hidden relationships between features of your data. For a large amount of user data, it is infeasible to compute the SVD, so we truncate it to a reasonable size. This combination of mathematically complex analysis and optimization for large-scale is a great example of the tradeoffs we make to implement ML/AI in the real world.
Technologies Used
Language: Python
Tools: Jupyter Notebook
Libraries: numpy 1.15.4, scipy 1.1.0, pandas 0.23.4
Data: click here