Project - Report - Movie Recommendfation System
Project - Report - Movie Recommendfation System
Learning Algorithm
A PROJECT REPORT
Submitted by
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE
MAY 2023
BONAFIDE CERTIFICATE
2
List of Abbreviations
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
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
3
6.1 Screenshots 15
7 TESTING 16
7.1 Testing Methodologies 17
REFERENCES
4
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
5
LIST OF TABLES
Table 1. Comparison
6
ABSTRACT
In this hustling world, entertainment is a necessity for each one of us to
refresh our mood and energy. Entertainment regains our confidence for
work and we can work more enthusiastically. For revitalizing ourselves, we
can listen to our preferred music or can watch movies of our choice. For
watching favourable movies online we can utilize movie recommendation
systems, which are more reliable, since searching of preferred movies will
require more and more time which one cannot afford to waste. In this
paper, to improve the quality of a movie recommendation system, a Hybrid
approach by combining content based filtering and collaborative filtering,
using Support Vector Machine as a classifier and genetic algorithm is
presented in the proposed methodology and comparative results have been
shown which depicts that the proposed approach shows an improvement in
the accuracy, quality and scalability of the movie recommendation system
than the pure approaches in three different datasets. Hybrid approach helps
to get the advantages from both the approaches as well as tries to eliminate
the drawbacks of both methods.
7
ABBREVIATIONS
QR: The term "QR" in QR code stands for Quick Response. QR codes are
two-dimensional barcodes that were first designed in 1994 by Denso Wave,
a Japanese automotive company, for tracking parts in vehicle
manufacturing. The QR code was designed to be quickly scanned and
decoded, allowing information to be accessed and transmitted easily.
IoT: In computer science, IoT stands for the Internet of Things. The
Internet of Things refers to the network of physical objects, devices,
vehicles, buildings, and other items that are embedded with electronics,
sensors, software, and network connectivity, which enables them to collect
and exchange data. These devices can be remotely monitored, controlled,
and managed through the internet.
8
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.
9
A large number of companies are making use of recommendation
systems to increase user interaction and enrich a user's shopping
experience. Recommendation systems have several benefits, the
most important being customer satisfaction and revenue. Movie
Recommendation system is very powerful and important system.
But, due to the problems associated with pure collaborative
approach, movie recommendation systems also suffers with poor
recommendation quality and scalability issues.
10
system is used as information filtering tool in social
networking sites .Hence, there is a huge scope of exploration
in this field for improving scalability, accuracy and quality of
movie recommendation systems Movie Recommendation
system is very powerful and important system. But, due to
the problems associated with pure collaborative approach,
movie recommendation systems also suffers with poor
recommendation quality and scalability issues.
Agile Methodology:
11
1.collecting the data sets: Collecting all the required
data set from Kaggle web site.in this project we require
movie.csv,ratings.csv,users.csv.
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.
CHAPTER 2
LITERATURE SURVEY
12
filtering methods. These systems have been implemented using
various big data and machine learning algorithms.
13
2.2 Movie Recommendation System Using Collaborative
14
must enjoy similar items and products is used to recommend
items to users.
CHAPTER 3
15
3.3.1 Anaconda distribution:
Anaconda is a free and open-source distribution of the
Python programming languages for scientific computing
(data science, machine learning applications, large-scale data
processing, predictive analytics, etc.), that aims to simplify
package management system and deployment. Package
versions are managed by the package management system
conda. The anaconda distribution includes data-science
packages suitable for Windows, Linux and
MacOS.3
16
fundamental package for scientific computing with Python.
Pandas: Pandas is one of the most widely used python
libraries in data science. It provides high-performance, easy
to use structures and data analysis tools. Unlike NumPy
library which provides objects for multi-dimensional arrays,
Pandas provides in-memory 2d table object called Data
frame.
CHAPTER 4
SYSTEM ANALYSIS AND DESIGN
17
Fig:-4.1 Architecture for hybrid approach
Activity Diagram:
18
Fig:-4.2 Activity diagram
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:
19
Fig:-4.3 Data Flow Diagram
Initially load the data sets that are required to build a model the data
set that are required in this project are movies.csv, ratinfg.csv,
users.csv all the data sets are available in the Kaggle.com. Basically,
two models are built in this project content based and collaborative
filtering each produce a list of movies to a particular user by
combining both based on the useid a single final list of movies are
recommended to the particular user
CHAPTER 5
20
IMPLEMENTATION
21
Experimental requirements:
Code: Front-end (React.js)
In react.js we used axios npm module to fetch the data from the api
that is generated from flask
22
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.
CHAPTER 6
23
RESULTS AND DISCUSSION
24
Fig:-6.1 Comparison between the three approaches
The main disadvantage in hybrid approach is it require
25
Fig:-6.3 Display of list of recommended movies
CHAPTER 7
TESTING
26
● To find and eliminate any residual errors from previous
stages.
● To validate the software as a solution to the original
problem.
● To provide operational reliability of the system.
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.
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
27
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
28
8.1 Conclusion
29
REFERENCES
[1] Hirdesh Shivhare, Anshul Gupta and Shalki Sharma (2015),
[2] Manoj Kumar, D.K. Yadav, Ankur Singh and Vijay Kr.
[4] Zan Wang, Xue Yu*, Nan Feng, Zhenhua Wang (2014), “An
Improved
Collaborative Movie Recommendation System using Computational
30
Filtering”, International Journal of Emerging Technology
and Advanced Engineering, Volume 3, Issue 4.
31