recommender systems using collaborative filtering

of 28 /28
Recommender Systems PRESENTED BY D YOGENDRA RAO 111CS0152 UNDER THE GUIDANCE OF PROF B MAJHI

Upload: d-yogendra-rao

Post on 29-Jul-2015

140 views

Category:

Engineering


7 download

Embed Size (px)

TRANSCRIPT

Page 1: Recommender systems using collaborative filtering

Recommender SystemsPRESENTED BY D YOGENDRA RAO

111CS0152

UNDER THE GUIDANCE OF PROF B MAJHI

Page 2: Recommender systems using collaborative filtering

Outline◦ Motivation◦ Project Objective◦ Introduction◦ Recommender Systems◦ Work Done ◦ Experimental Results◦ Future Work

Page 3: Recommender systems using collaborative filtering

Motivation

The motivation to do the project comes from my eagerness to get a deep understanding of recommender systems.

Coursera - Mining Massive Datasets.

Udacity - Introduction to Hadoop and MapReduce for Begineers

Coursera – Introduction to Recommender System

Page 4: Recommender systems using collaborative filtering

Motivation Google Example

◦ 10 billion web pages◦ Average size of webpage= 20KB◦ 10 billion*20KB = 200TB◦ Disk read bandwidth = 50 MB/sec◦ Time to read = 4 million seconds = 46+ days◦ Even longer to do something useful with the data

Page 5: Recommender systems using collaborative filtering

Project Objective In this project, I have designed a website that uses different techniques for generating recommendations.

1) User-based Collaborative Filtering2) Item-based Collaborative Filtering3) Model-based Collaborative Filtering4) MapReduce

Dataset : Movie Lens, an external data set of users, items, and ratings(100K)

Error Calculation : Using Mean Absolute Error Rate (MAE) and Root Mean Squared Error (RMSE).

Page 6: Recommender systems using collaborative filtering

Introduction Approaches to apply a Recommender System

Collaborative FilteringContent Based Filtering Hybrid Filtering

Algorithm to predict a user preference◦ User Based◦ Item Based◦ Model Based

User Based Collaborative Filtering approach

Page 7: Recommender systems using collaborative filtering

Introduction – Recommender Systems

Recommendation systems are everywhere—from Amazon:

Page 8: Recommender systems using collaborative filtering

Introduction – Recommender Systems

To last.fm recommending music or concerts

Page 9: Recommender systems using collaborative filtering

How Recommender System Works

Items

Search

Recommendations

Products, web sites, blogs, news items, …

Page 10: Recommender systems using collaborative filtering

Collaborative Filtering In this method, we predict the user behavior against a certain item using the weighted sum of

deviations from mean ratings of users that previously rated this item and the user mean rate

Pearson correlation :

Page 11: Recommender systems using collaborative filtering

Pearson Correlation Coefficient This is an approximation of Pearson:

The problem with the previous formula was that the algorithm to implement it would require multiple passes through the data.

Page 12: Recommender systems using collaborative filtering

Pearson Correlation Coefficient The Pearson Correlation Coefficient is a measure of correlation between two variables .

It ranges between -1 and 1 inclusive. 1 indicates perfect agreement. -1 indicates perfect disagreement.

Prediction Formula :

Page 13: Recommender systems using collaborative filtering

Implementation

Page 14: Recommender systems using collaborative filtering

Cosine Similarity

Cosine similarity ignores 0-0 matches. It is defined as :

where · indicates the dot product and ||x|| indicates the length of the vector x. The length of a vector is :

Page 15: Recommender systems using collaborative filtering

Recommending Users

Page 16: Recommender systems using collaborative filtering

Results

Recommending User with UserID ‘171118’

Page 17: Recommender systems using collaborative filtering

Error Calculation

User-based Item-based Model-based

MAE RMSE MAE RMSE MAE RMSE

0.816429099 1.022968896 0.834149128 1.04480249 0.85019701 1.10512221

Thus we find User Based Collaborative Filtering gives the best results.

Page 18: Recommender systems using collaborative filtering

Web Architecture

Page 19: Recommender systems using collaborative filtering

PROGRAM REQUIREMENTS

The project consists of a website that makes the user able to browse movies. Users can register to the website, check the movies and rate them. Once the user logs into the system, he has to initially rate the movies without which the system won’t be providing any recommendations. The recommendations for the movies are ordered by highly predicted rating for this user.

Page 20: Recommender systems using collaborative filtering

MRS > Login

Login Screen

Page 21: Recommender systems using collaborative filtering

MRS > Home Page

Page 22: Recommender systems using collaborative filtering

MRS > Movies Page

Page 23: Recommender systems using collaborative filtering

MRS > Rating the movies

Page 24: Recommender systems using collaborative filtering

MRS > Getting Recommendations

Page 25: Recommender systems using collaborative filtering

MRS > Profile

Page 26: Recommender systems using collaborative filtering

Dataset

So the first step is to get our movies file which has three columns: (user, movie, rating). For this task we will use the MovieLens Dataset of Movie Ratings with 10,000 ratings from 1000 users on 1700 movies.

Link : http://www.grouplens.org/node/73

Page 27: Recommender systems using collaborative filtering

Technologies/Tools used

Front-end : Bootstrap framework for CSS and JavaScript

Server side scripting : PHP was the language used for coding the server side

Recommender Engine : Python

Web Services : JSON

Page 28: Recommender systems using collaborative filtering

References [1] Alluhaidan, Ala. "Recommender System Using Collaborative Filtering Algorithm." (2013).

[2] Ekstrand, Michael D., John T. Riedl, and Joseph A. Konstan. "Collaborative filtering recommender systems." Foundations and Trends in Human-Computer Interaction 4, no. 2 (2011): 81-173.

[3] Coursera - Introduction to Recommender Systems

[4] Nguyen, Tho. "Web based recommender systems and rating prediction." (2009).