Movie recommendation system using collaborative filtering system
1. St. Francis Institute of Technology
Department of Computer Engineering
Mini Project – Sem VI
Movies Recommendation system
Guide:
Mr. Rupesh Mishra
Asst. Professor
Group Members:
Name of Student Class-Roll No.
Suraj R. Maurya TE CMPN B-56
Om V. Pise TE CMPN B-58
2. Content
● Abstract
● Introduction
● Literature Review
● Problem Statement with Proposed Solution
● Work Flow of the system
● Dataset Description
● Algorithm with Implementation details
● GUI Design with Validation
● Result Analysis
● Application
Movies Recommendation system 2
3. Abstract
● A recommendation engine filters the data using different algorithms and
recommends the most relevant items to users. It first captures the past
behavior of a customer and based on that, recommends products which the
users might be likely to buy. If a completely new user visits an e-commerce
site, that site will not have any past history of that user. So how does the site
go about recommending products to the user in such a scenario? One
possible solution could be to recommend the best selling products, i.e. the
products which are high in demand. Another possible solution could be to
recommend the products which would bring the maximum profit to the business.
Movies Recommendation system 3
4. Abstract cont...
● Three main approaches are used for our recommender systems. One is Demographic
Filtering i.e They offer generalized recommendations to every user, based on movie
popularity and/or genre. The System recommends the same movies to users with
similar demographic features. Since each user is different , this approach is
considered to be too simple. The basic idea behind this system is that movies that are
more popular and critically acclaimed will have a higher probability of being liked by
the average audience. Second is content-based filtering, where we try to profile the
users interests using information collected, and recommend items based on that
profile. The other is collaborative filtering, where we try to group similar users
together and use information about the group to make recommendations to the user.
Movies Recommendation system 4
5. Introduction
● A recommendation system is a type of information filtering system which attempts to
predict the preferences of a user, and make suggestions based on these preferences.
There are a wide variety of applications for recommendation systems.
● These have become increasingly popular over the last few years and are now utilized
in most online platforms that we use.
● The content of such platforms varies from movies, music, books and video, to friends
and stories on social media platforms, to products on e-commerce websites, to people
on professional and dating websites, to search results returned on Google.
Movies Recommendation system
5
6. Introduction
● Often, these systems are able to collect information about a user’s choices, and can
use this information to improve their suggestions in the future.
● For example, if Amazon observes that a large number of customers who buy the
latest Apple MacBook also buy a USB-C-to USB Adapter, they can recommend the
Adapter to a new user who has just added a MacBook to his cart.
Movies Recommendation system 6
7. Literature Review
Movies Recommendation system 7
Authors Title Publication Approach
Jae Kyeong Kim
Kyung Hee
University
Classification of
Recommender Systems
on Academic Journals
Researchgate Recommender systems are defined as the
supporting systems which help users to
find information, products, or services
(such as books, movies, music, digital
products, web sites, and TV programs) by
aggregating and analyzing suggestions
from other users, which mean reviews
from various authorities, and user
attributes.
Achin Jain
Bharati
Vidyapeeth
College of
Engineering, New
Delhi
A LITERATURE
SURVEY ON
RECOMMENDATION
SYSTEM BASED ON
SENTIMENTAL
ANALYSIS
An
International
Journal (ACII),
Vol.3
The articles are categorized into three
techniques of recommender system, i.e.;
collaborative filtering (CF), content based
and context based.
8. Problem Statement
Movie recommendation system
The movie recommendation system will be built using artificial algorithms that
analyze user's favorite genres and recommend movies according to their liking. The
response will be based on the liking of the user. The User will submit queries
depending on their liking of their movies. The System analyses the liking and then
recommends the user movies. Providing related content out of relevant and irrelevant
collection of items to users of online service providers. Our aims to recommend
movies to users based on content of items rather than other user’s opinions.
8
9. Work Flow of the system
Movies Recommendation system
9
10. Dataset Description
Movies Recommendation system
The dataset used was from MovieLens, and is publicly available
at http://grouplens.org/datasets/movielens/latest. In order to keep the recommender
simple, I used the smallest dataset available (ml-latest-small.zip), which at the time of
download contained 105339 ratings and 6138 tag applications across 10329 movies.
These data were created by 668 users between April 03, 1996 and January 09, 2016. This
dataset was generated on January 11, 2016.
The data are contained in four files: links.csv, movies.csv, ratings.csv and tags.csv. I only
use the files movies.csv and ratings.csv to build a recommendation system.
A summary of movies is given below, together with several first rows of a data frame:
10
11. ● Both usersId and movieId are presented as integers and should be changed to factors.
Genres of the movies are not easily usable because of their format, I will deal with
this in the next step. 11
12. Data Pre-processing
Some pre-processing of the data available is required before creating the
recommendation system. First of all, I will re-organize the information of movie
genres in such a way that allows future users to search for
the movies they like within specific genres. From the design perspective, this is
much easier for the user compared to selecting a movie from a single very long list
of all the available movies.
Movies Recommendation system
12
13. Extract a list of genres
I use a one-hot encoding to create a matrix of corresponding genres for each movie.
Movies Recommendation system 13
14. Algorithm used
Movies Recommendation system
USER-based Collaborative Filtering Model
According to this approach, given a new user, its similar users are first identified. Then, the top-rated
items rated by similar users are recommended.
For each new user, these are the steps:
• Measure how similar each user is to the new one. Like IBCF, popular similarity measures are
correlation and cosine.
• Identify the most similar users. The options are:
Take account of the top k users (k-nearest_neighbors)
Take account of the users whose similarity is above a defined threshold
• Rate the movies rated by the most similar users. The rating is the average rating among similar users
and the approaches are:
Average rating
Weighted average rating, using the similarities as weights
• Pick the top-rated movies.
14
16. compare the models by building a chart displaying their ROC curves and Precision/recall curves.
16Movies Recommendation system
17. ● A good performance index is the area under the curve (AUC), that is, the area under the ROC curve. Even
without computing it, the chart shows that the highest is UBCF with cosine distance, so it’s the best-
performing technique.
● The UBCF with cosine distance is still the top model. Depending on what is the main purpose of the system,
an appropriate number of items to recommend should be defined. 17
Movies Recommendation system
19. Application
● Movie recommendations app based
● Movie recommendations site
● Streaming media recommendations
● books, music recommendations.
● music based on bands.
● music recommendations based on likes and dislikes or songs
● Game and movie collaborative recs.
19Movies Recommendation system
20. Conclusion
Movies Recommendation system
In our project, a collaborative filtering algorithm is used to predict a user's movie rating. The
MovieLens dataset, which has 10 million ratings, is selected in our project and divided into
training set and test set. The RMSE method is used for algorithm evaluation. According to
evaluation as a result, our movie recommender system has pretty good prediction
performance.
A hybrid approach is taken between context based filtering and collaborative filtering to
implement the system. This approach overcomes drawbacks of each individual algorithm and
improves the performance of the system. Techniques like Clustering, Similarity and
Classification are used to get better recommendations thus reducing MAE and increasing
precision and accuracy. In future we can work on hybrid recommender using clustering and
similarity for better performance. Our approach can be further extended to other domains to
recommend songs, video, venue, news, books, tourism and e-commerce sites, etc.
20