Project
Project
UNIVERSITY
Page No.
Table of contents
List of Figures viii
List of Tables
List of Abbreviations x
1 INTRODUCTION 1
1.1 Relevance of the Project 1
1.2 Problem Statement 2
1.3 Objective 2
1.4 Scope of the Project 3
1.5 Methodology
2 LITERATURE SURVEY 4
2.1 k-means and k-nearest 4
2.2 Using Collaborative 5
ii
4 SYSTEM ANALYSIS AND DESIGN 8
4.1 System Architecture 8
4.2 Activity diagram 9
4.3 Flowchart 10
5 IMPLEMENTATION 11
5.1 Cosine similarity 11
5.2 Singular Value Decomposition 11
5.3 Experimental Setup 12
Front-End/Back End implementation details 13
6 RESULTS AND DISCUSSION 14
6.1 Screenshots 15
7 TESTING 16
7.1 Testing Methodologies 17
REFERENCES 19
iii
LIST OF FIGURES
Page No.
Fig 4.1 Architecture for hybrid approach 8
Fig 4.2 Activity diagram 9
Fig 4.3 Data Flow
Fig 5.1 Code snippet
Fig 5.2 Backed code snippet
10
Fig 6.1 User login 12 13
Fig 6.2 List of recommended movies 15 15
iv
LIST OF TABLES
Page No.
Table 6.1 comparison 14
v
Movie Recommendation System
CHAPTER 1
INTRODUCTION
Movies are a part and parcel of life. There are different types of movies like some for
entertainment, some for educational purposes, some are animated movies for children,
and some are horror movies or action films. Movies can be easily differentiated
through their genres like comedy, thriller, animation, action etc. Other way to
distinguish among movies can be either by releasing year, language, director etc.
Watching movies online, there are a number of movies to search in our most liked
movies . Movie Recommendation Systems helps us to search our preferred movies
among all of these different types of movies and hence reduce the trouble of spending
a lot of time searching our favourable movies. So, it requires that the movie
recommendation system should be very reliable and should provide us with the
recommendation of movies which are exactly same or most matched with our
preferences.
Page 1
Movie Recommendation System
Page 2
Movie Recommendation System
recommendation system gives finer similarity metrics and quality than the
existing Movie recommendation system but the computation time which is
taken by the proposed recommendation system is more than the existing
recommendation system. This problem can be fixed by taking the clustered
The proposed approach is for improving the scalability and quality of the
movie recommendation system .We use a Hybrid approach , by unifying
Content-Based Filtering and Collaborative Filtering, so that the approaches
can be profited from each other. For computing similarity between the
different movies in the given dataset efficiently and in least time and to reduce
computation time of the movie recommender engine we used cosine similarity
measure.
Agile Methodology:
1.collecting the data sets: Collecting all the required data set from
2.Data Analysis: make sure that that the collected data sets are correct and
analysing the data in the csv files. i.e. checking whether all the column Felds
are present in the data sets.
Page 3
Movie Recommendation System
CHAPTER 2
LITERATURE SURVEY
Over the years, many recommendation systems have been developed using either
collaborative, content based or hybrid filtering methods. These systems have been
implemented using various big data and machine learning algorithms.
Page 4
Movie Recommendation System
Page 5
Movie Recommendation System
CHAPTER 3
This chapter involves both the hardware and software requirements needed for the
project and detailed explanation of the specifications.
Page 6
Movie Recommendation System
For the computation and analysis we need certain python libraries which are
used to perform analytics. Packages such as SKlearn, Numpy, pandas,
Matplotlib, Flask framework, etc are needed.
Page 7
Movie Recommendation System
CHAPTER 4
For each different individual use different list of movies are recommended ,as
user login or enters the user id based on two different approaches used in the project
each will recommend the set of movies to the particular user by combining the both
the set of movie based on the user the hybrid model will recommend the single list of
movie to the user.
Activity Diagram:
Page 8
Movie Recommendation System
Once the user login by entering the userid i.e present in the csv file ranges from
15000 the list of movie are recommended to the user
4.3 Dataflow:
Page 9
Movie Recommendation System
CHAPTER 5
Page 10
Movie Recommendation System
IMPLEMENTATION
The Proposed System Make Use Different Algorithms and Methods for the
implementation of Hybrid Approach
We first prove a simple lemma stating that two matrices A and B are identical
if Av = Bv for all v. The lemma states that in the abstract, a matrix A can be
viewed as a transformation that maps vector v onto Av
Experimental requirements:
Page 11
Movie Recommendation System
Fig:-5.1
Sample Code snippet
In react.js we used axios npm module to fetch the data from the api that is generated
from flask
Backend :For backend we have use flask app to generate a local host api the
resultant api is fetch in front to display the result.
Page 12
Movie Recommendation System
By using flask, we generate resulting api which stores the data in the form of json
format these data is retrieved in react by using axios npm mode and then displaying
the data
CHAPTER 6
Page 13
Movie Recommendation System
In our project we have developed a hybrid approach i.e combination of both content
and collaborative filtering .Both the approaches have advantages and dis-
advantages .in content based filtering the it based on the user ratings or user likes only
such kind of movie will recommended to the user.
Dis-advantages: The prediction of the model for a given (user, item) pair is the dot
product of the corresponding embeddings. So, if an item is not seen during training,
the system can't create an embedding for it and can't query the model with this item.
This issue is often called the cold-start problem.
The hybrid approach will resolves all these limitations by combining both content
and collaborative filtering
Page 14
Movie Recommendation System
Once the user id is entered the list of recommended movies are displayed
CHAPTER 7
Page 15
Movie Recommendation System
TESTING
System testing is actually a series of different tests whose primary purpose is to fully
exercise the computer-based system. Although each test has a different purpose, all
work to verify that all the system elements have been properly integrated and
perform allocated functions. The testing process is actually carried out to make sure
that the product exactly does the same thing what is supposed to do. In the testing
stage following goals are tried to achieve: -
There are many different types of testing methods or techniques used as part of the
software testing methodology. Some of the important testing methodologies are:
Unit Testing
Unit testing is the first level of testing and is often performed by the developers
themselves. It is the process of ensuring individual components of a piece of software
at the code level are functional and work as they were designed to. Developers in a
test-driven environment will typically write and run the tests prior to the software or
feature being passed over to the test team. Unit testing can be conducted manually,
but automating the process will speed up delivery cycles and expand test coverage.
Unit testing will also make debugging easier because finding issues earlier means
they take less time to fix than if they were discovered later in the testing process. Test
Left is a tool that allows advanced testers and developers to shift left with the fastest
test automation tool embedded in any IDE.
Page 16
Movie Recommendation System
Integration Testing
After each unit is thoroughly tested, it is integrated with other units to create modules or
components that are designed to perform specific tasks or activities. These are then
tested as group through integration testing to ensure whole segments of an application
behave as expected (i.e, the interactions between units are seamless). These tests are
often framed by user scenarios, such as logging into an application or opening files.
Integrated tests can be conducted by either developers or independent testers and are
usually comprised of a combination of automated functional and manual tests.
System Testing
System testing is a black box testing method used to evaluate the completed and
integrated system, as a whole, to ensure it meets specified requirements. The
functionality of the software is tested from end-to-end and is typically conducted by a
separate testing team than the development team before the product is pushed into
production.
CHAPTER 8
Page 17
Movie Recommendation System
8.1 Conclusion
In this project, to improve the accuracy, quality and scalability of movie
recommendation system, a Hybrid approach by unifying content based filtering and
collaborative filtering; using Singular Value Decomposition (SVD) as a classifier and
Cosine Similarity is presented in the proposed methodology. Existing pure approaches
and proposed hybrid approach is implemented on three different Movie datasets and
the results are compared among them. Comparative results depicts that the proposed
approach shows an improvement in the accuracy, quality and scalability of the movie
recommendation system than the pure approaches. Also, computing time of the
proposed approach is lesser than the other two pure approaches.
In the proposed approach, It has considered Genres of movies but, in future we can
also consider age of user as according to the age movie preferences also changes, like
for example, during our childhood we like animated movies more as compared to
other movies. There is a need to work on the memory requirements of the proposed
approach in the future. The proposed approach has been implemented here on
different movie datasets only. It can also be implemented on the Film Affinity and
Netflix datasets and the performance can be computed in the future.
REFERENCES
[1] Hirdesh Shivhare, Anshul Gupta and Shalki Sharma (2015), “Recommender
system using fuzzy c-means clustering and genetic algorithm based weighted
similarity measure”, IEEE International Conference on Computer,
Communication and Control.
Page 18
Movie Recommendation System
[2] Manoj Kumar, D.K. Yadav, Ankur Singh and Vijay Kr. Gupta (2015), “A
Movie Recommender System: MOVREC”, International Journal of
Computer Applications (0975 – 8887) Volume 124 – No.3.
[3] RyuRi Kim, Ye Jeong Kwak, HyeonJeong Mo, Mucheol Kim, Seungmin
Rho,Ka Lok Man, Woon Kian Chong (2015),“Trustworthy Movie
Recommender System with Correct Assessment and Emotion Evaluation”,
Proceedings of the International MultiConference of Engineers and
Computer Scientists Vol II.
[4] Zan Wang, Xue Yu*, Nan Feng, Zhenhua Wang (2014), “An Improved
Collaborative Movie Recommendation System using Computational
Intelligence”,Journal of Visual Languages & Computing,Volume 25, Issue 6.
Page 19
Movie Recommendation System
Page 20