Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

VNR Vignana Jyothi Institute of Engineering and Technology

(Affiliated to J.N.T.U, Hyderabad)


Bachupally(v), Hyderabad, Telangana, India.

MOVIE RECOMMENDATION SYSTEM

A course project of machine learning laboratory submitted in complete requirements

for the award of the degree


of BACHELOR OF
TECHNOLOGY IN

COMPUTER SCIENCE AND ENGINEERING


Submitted by

GUDA PAVANEESHWAR REDDY (20071A0578)


SOLLU YASHWANTH SAI (20071A05B0)
TEJESWARA MURTHY PALWADI (20071A05B4)
VIBUDI DURGA VARA PRASAD (20071A05B9)

Under the
guidance
of
Mrs. N. Sarika
Assistant Professor
Dept. of Computer Science and Engineering

1
VNR Vignana Jyothi Institute of Engineering and Technology
(Affiliated to J.N.T.U, Hyderabad)
Bachupally(v), Hyderabad, Telangana, India.

CERTIFICATE

This is to certify that Mr.Guda Pavaneeshwar Reddy (20071A0578), Mr.Sollu


Yashwanth Sai(20071A05B0),Mr.Tejeswara Murthy Palwadi(20071A05B4),
Mr.Vibudi Durga Vara Prasad(20071A05B9) have completed their course project
work at CSE Department of VNR VJIET, Hyderabad entitled "MOVIE
RECOMMENDATION SYSTEM " in complete fulfilment of the requirements for the
award of machine learning laboratory during the academic year 2022- 2023.
This work is carried out under my supervision and has not been submitted to any
other University/Institute for award of any degree/diploma.

Mrs. N. Sarika
Assistant Professor
Department of CSE
VNRVJIET

2
DECLARATION

This is to certify that our project report titled “ MOVIE RECOMMENDATION


SYSTEM " submitted to Vallurupalli Nageswara Rao Institute of Engineering
and Technology in complete fulfilment of requirement for the award of
Bachelor ofTechnology in Computer Science and Engineering is a bonafide
report to the work carried out by us under the guidance and supervision of
Dr., Assistant Professor, Department of Computer Science and Engineering,
Vallurupalli Nageswara Rao Institute of Engineering and Technology. To the
best of our knowledge, this has not been submitted in any form to other
university or institution for the award of any degree or diploma.

Guda Tejeswara
Sollu Vibudi
Pavaneeswar Murthy
Yashwanth Sai Durga
Reddy Palwadi
20071A05B0 Vara Prasad
20071A0578 20071A05B4
CSE
CSE CSE 20071A05B9
CSE

3
ACKNOWLEDGEMENT

Over a span of three and a half years, VNRVJIET has helped us


transform ourselves from mere amateurs in the field of Computer Science
into skilled engineers capable of handling any given situation in real time.
We are highly indebted to the institute for everything that it has given us.
We would like to express our gratitude towards the principal of our
institute, Dr. Challa Dhanunjaya Naidu and the Head of the Computer
Science & Engineering Department, Dr. S. Nagini for their kind co- operation
and encouragement which helped us complete the project in the stipulated
time. Although we have spent a lot of time and put in a lot effort into this
project, it would not have been possible without the motivating support and
help of our project guide Mrs. N. Sarika We thank her for her guidance,
constant supervision and for providing necessary information to complete
this project. Our thanks and appreciations also go to all the faculty
members, staff members of VNRVJIET, and all our friends who have helped us
put this project together.

4
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
favorable 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 project, we propose a movie recommendation system that uses


collaborative filtering of movie data and machine learning algorithms to
suggest movies to users based on their preferences.

The system is integrated into a web page, making it easily accessible and user-
friendly. The system's accuracy is evaluated using various metrics, and the
results show that the proposed system provides accurate recommendations to
users. The system can help users discover new movies based on their interests,
leading to a better user experience.

5
INDEX
1. Introduction 7

2. Literature 8

3. Requirement 9

4.Software Requirements 10

 VS CODE IDE 10

 Anaconda Navigator 13

4. Implementation 14

5. Results 18

6. Conclusion 19

7. References 20

6
INTRODUCTION
Movie recommendation systems have become increasingly popular in recent years as they
help users discover movies that match their interests. Machine learning algorithms and
techniques can be used to analyze user data and provide personalized movie
recommendations. In this project, we propose a movie recommendation system that utilizes
several techniques, such as Cosine similarity, Bag of Words, and Count Vectorizer, to analyze
user preferences and movie data and generate personalized recommendations. The system
is also integrated into a web page to provide users with a user-friendly interface for
searching, browsing, and recommending movies.

The system uses Cosine similarity technique to identify movies like those the user has entered.
Bag of Words, and Count Vectorizer are used to extract features and generate a movie similarity
matrix. The system then recommends movies based on the user's preferences and the similarity
between movies.

The proposed system is evaluated using a dataset of movie ratings and user behavior.
The dataset includes information about movies such as the genre, release date, director,
cast, and ratings. The system's performance is evaluated using similarity percentage.

The system is integrated into a web page using streamlit. The web page provides users with
a user-friendly interface for searching, browsing, and recommending movies. Users can
enter their movie preferences, and the system generates personalized recommendations
based on their preferences.

7
LITERATURE
Movie recommendation systems have gained popularity in recent years due to the
abundance of movie options available to consumers. A recommendation system
provides a personalized list of movie suggestions to users based on their
preferences. The process of building a recommendation system involves collecting
and pre-processing movie data, selecting relevant features such as genres,
keywords, taglines, cast, and director. These features are then combined into one
field and converted into feature vectors using techniques like CountVectorizer and
bag of words.

Cosine similarity is a mathematical measure used to calculate the similarity


between two non-zero vectors in a multi-dimensional space. It is used to
determine the similarity between the feature vectors of movies in a
recommendation system. A cosine similarity of 1 indicates that the two vectors
are identical, whereas a cosine similarity of -1 indicates that the two vectors are
opposite.

In building a movie recommendation system, the cosine similarity method is


utilized to determine the similarity scores between each movie based on their
combined feature vectors. The feature vectors are calculated using the
CountVectorizer method and are then used to calculate the cosine similarity
between all pairs of movies using the cosine_similarity function from the scikit-
learn library. This results in a matrix of pairwise cosine similarity scores, which are
used to identify the most similar movies to a user's input movie. The movies with
the highest similarity scores are then recommended to the user.

The bag of words technique is also used in movie recommendation systems to


convert text data into feature vectors. The bag of words approach represents text
as a bag of its words, disregarding grammar and word order but keeping track of
frequency. This approach is commonly used in natural language processing and
information retrieval.

In summary, a movie recommendation system involves collecting and pre-


processing movie data, selecting relevant features, and converting the text data
into feature vectors using techniques like CountVectorizer and bag of words.
Cosine similarity is used to determine the similarity between the feature vectors
of movies in the recommendation system, and the movies with the highest
similarity scores are recommended to the user.

8
REQUIREMENTS

Requirements analysis in systems engineering and software engineering,


encompasses those tasks that go into determining the needs or conditions to
meet for a new or altered product or project, taking account of the possibly
conflicting requirements of the various stakeholders, analyzing, documenting,
validating and managing software or system requirements.

Software Requirements
Software requirements deal with defining software resource requirements and
prerequisites that need to be installed on a computer to provide optimal
functioning of an application.

 VS CODE IDE
 PYTHON 3.6
 Anaconda

VS CODE:

Visual Studio Code combines the simplicity of a source code editor with powerful developer
tooling, like IntelliSense code completion and debugging.

First and foremost, it is an editor that gets out of your way. The delightfully frictionless
edit-build-debug cycle means less time fiddling with your environment, and more time
executing on your ideas.

At its heart, Visual Studio Code features a lightning-fast source code editor, perfect for
day-to-day use. With support for hundreds of languages, VS Code helps you be
instantly productive with syntax highlighting, bracket-matching, auto-indentation, box-
selection, snippets, and more. Intuitive keyboard shortcuts, easy customization, and
community- contributed keyboard shortcut mappings let you navigate your code with
ease.
For serious coding, you'll often benefit from tools with more code understanding than
just blocks of text. Visual Studio Code includes built-in support for IntelliSense code
9
completion, rich semantic code understanding and navigation, and code refactoring.

10
And when the coding gets tough, the tough get debugging. Debugging is often the one
feature that developers miss most in a leaner coding experience, so we made it
happen. Visual Studio Code includes an interactive debugger, so you can step through
source code, inspect variables, view call stacks, and execute commands in the console.
VS Code also integrates with build and scripting tools to perform common tasks making
everyday workflows faster. VS Code has support for Git so you can work with source
control without leaving the editor including viewing pending changes diffs.

Requirements for Visual Studio Code Hardware

Visual Studio Code is a small download (< 200 MB) and has a disk footprint of <500 MB.
VS Code is lightweight and should easily run-on today's hardware.

We recommend:

• 1.6 GHz or faster processor

• 1 GB of RAM

Platforms
VS Code is supported on the following platforms:

11
• OS X El Capitan (10.11+)

• Windows 8.0, 8.1 and 10, 11 (32-bit and 64-bit)

• Linux (Debian): Ubuntu Desktop 16.04, Debian 9

• Linux (Red Hat): Red Hat Enterprise Linux 7, CentOS 7, Fedora34

Not supported

• VS Code does not support application virtualization solutions such


as Microsoft App-V or MSIX for Windows, or third-party app virtualization
technologies.

• Running VS Code in a virtual machine environment requires a


full operating system.

• VS Code does not support multiple simultaneous users using the software on
the same machine, including shared virtual desktop infrastructure machines or a
pooled Windows/Linux Virtual Desktop host pool.

• Running the full VS Code in Windows/Linux containers is not supported but


running with the Remote - Containers extension is supported. When using the
Remote - Containers extension, the VS Code server is running in the container
while the VS Code client is on the desktop.

Additional Linux requirements

• GLIBCXX version 3.4.21 or later

• GLIBC version 2.17 or later

12
Visual Studio Code on

Windows Installation

1. Download the Visual Studio Code installer for Windows.

2. Once it is downloaded, run the installer (VS Code User Setup-


{version}.exe). This will only take a minute.

3. By default, VS Code is installed under C:\Users\


{Username}\AppData\Local\Programs\Microsoft VS Code.
Alternatively, you can also download a Zip archive, extract it and run Code
from there.

Tip: Setup will add Visual Studio Code to your %PATH%, so from the console you can
type 'code.' to open VS Code on that folder. You will need to restart your console
after the installation for the change to the %PATH% environmental variable to take
effect.

User setup versus system setup#

VS Code provides both Windows user and system level setups. Installing the user
setup does not require Administrator privileges as the location will be under your
user Local AppData (LOCALAPPDATA) folder. User setup also provides a
smoother background update experience.

The system setup requires elevation to Administrator privileges and will place the
installation under Program Files. This also means that VS Code will be available to
all users in the system.

See the Download Visual Studio Code page for a complete list of available
installationoptions.

13
Introduction To Anaconda
Anaconda is an open-source distribution for python and R. It is used for
data science, machine learning, deep learning, etc. With the availability of
more than 300 libraries for data science, it becomes fairly optimal for any
programmer to work on anaconda for data science.

Anaconda helps in simplified package management and deployment.


Anaconda comes with a wide variety of tools to easily collect data from
various sources using various machine learning and AI algorithms. It helps in
getting an easily manageable environment setup which can deploy any
project with the click of a single button.

Now that we know what anaconda is, let’s try to understand how we can install
anaconda and set up an environment to work on our systems.

Installation And Setup


To install anaconda go to https://www.anaconda.com/distribution/.

Choose a version suitable for you and click on download. Once you
complete the download, open the setup.

Follow the instructions in the setup. Don’t forget to click on add anaconda to
my path environment variable. After the installation is complete, you will get
a window like shown in the image below.

After finishing the installation, open anaconda prompt and type jupyter
notebook.

You will see a window like shown in the image below.

14
MODEL IMPLEMENTATION
STEPS TO MOVIE RECOMMENDATION SYSTEM

Data Preprocessing

The first step is to collect the movie data and user ratings data from various sources.
The collected data may contain missing values, duplicates, and inconsistencies. These issues
can be resolved by cleaning the data, which involves removing or imputing missing values,
removing duplicates, and correcting inconsistencies. Then the data is transformed into a
suitable format for analysis and modeling.

15
Count Vectorizer
Count Vectorizer is used to convert a collection of text documents to a vector of term/token
counts. It also enables the pre-processing of text data.

16
Bag of Words

Bag of Words (BOW) is a method to extract features from text documents. These features
can be used for training machine learning algorithms.

Cosine Similarity

Cosine similarity is the cosine of the angle between two n-dimensional vectors in an n-
dimensional space. It is the dot product of the two vectors divided by the product of the
two vectors' lengths (or magnitudes)

17
Prediction

The below is the link to the application which shows a demo of how the Movie
recommendation system works

LINK: https://moviesrecc.herokuapp.com

18
RESULTS

19
CONCLUSION

In conclusion, the development of a movie recommendation system using content-based


filtering and the cosine similarity algorithm is a promising approach to help users find movies
that match their interests. The system's accuracy can be improved by incorporating
collaborative filtering and selecting more features for pre-processing. Nevertheless, this project
provides a solid foundation for building a more sophisticated movie recommendation system
that can enhance the user experience and add value to the entertainment industry. With the
continued growth of big data and machine learning technologies, the potential for personalized
movie recommendations is immense, and we can expect further advancements in this field in
the future.

20
REFERENCES
 "The Netflix Recommender System: Algorithms, Business Value, and Innovation" by Xavier
Amatriain and Justin Basilico: https://dl.acm.org/doi/10.1145/2843948.2843956
 "A Survey of Recommender Systems in the Movie Domain" by Gohar Irfan Bhatti and
Maria Fasli: https://www.sciencedirect.com/science/article/pii/S2405452619301404
 "Content-based Recommendation Systems" by George Karypis:
https://www.cs.umn.edu/sites/cs.umn.edu/files/tech_reports/02-017.pdf
 "Recommender Systems Handbook" edited by Francesco Ricci, Lior Rokach, and
Bracha Shapira: https://www.springer.com/gp/book/9780387858203
 "An Overview of Recommender Systems in the Movie Domain" by Kavya P., S.
Vishalini, and K. R. Chaitra: https://link.springer.com/chapter/10.1007/978-981-15-
3695-5_33

21

You might also like