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

A

Minor Project Report


On
Movie Recommender
(Movie Recommendation Based on User Sign Up)

INDIRA GANDHI NATIONAL TRIBAL UNIVERSITY,


AMARKANTAK (M.P.)

In partial fulfillment for award of the degree of

MATER OF COMPUTER APPICATION (MCA)


Submitted By
Shivam Patel
17750016
Chinmay Pandey
17750006
Under The Guidance of
Dr. ABHSHEKH BANSAL
Department of Computer Science
Faculty of Computronics
Indira Gandhi National Tribal University, Amarkantak-484887
Session 2018-19
ACKONOWLEDGEMENT

I would like to express my gratitude and appreciation to all those


who gave me the possibility to complete this project. A special
thanks to our final year project coordinator, Dr. Abhishek
Bansal, who help, stimulating suggestion and encouragement,
helped me to coordinate my project especially in witting this
project.

I would like to acknowledge with much appreciation the crucial


role of faculty member, who gave the permission to use all
required machinery and the necessary material to complete the
project layout and designing.

Last but not least, many thanks go to the Head of Debarment


(HOD sir) Dr. Vikash Singh who has given his full effort in
guiding the team in achieving the goal as well as his
encouragement to maintain our progress in track. I would
appreciate the guidance given by our supervisor as well as panels
especially in our project presentation skills by their comment and
tips.
DECLARATION

We hereby declare that the work, which is being presented


in the minor project report “Movie Recommender
(Recommend Movie Based on User Sign Up)” in the partial
fulfillment for the award of the degree of Master of
Computer Application(MCA), is an authentic record of our
work carried out under the guidance of Dr. Abhishek
Bansal. It is further declared that this work has not been
submitted elsewhere for the award of any other degree.

Project Submitted By
Shivam Patel
17750016
Chinmay Pandey
17750016
ABSTRACT
Recommender System is a system that seeks to predict or filter
preferences according to the user’s choices. Recommender
systems are utilized in a variety of areas including movies, music,
news, books, research articles, search queries, social tags, and
products in general.

As the business needs are accelerating, there is an increased


dependence on extracting meaningful information from
humongous amount of raw data to drive business solutions. The
same is true for digital recommendation systems which are
becoming a norm for consumer industries such as books, music,
clothing, movies, news articles, places, utilities, etc. These
systems collect information from the users to improve the future
suggestions. This project aims to describe the implementation of
a movie recommender system via two collaborative filtering
algorithms using NumPy, SciPy, and pandas.
1. INTRODUCTION

Recommender System is a system that seeks to predict or filter


preferences according to the user’s choices. Recommender
systems are utilized in a variety of areas including movies, music,
news, books, research articles, search queries, social tags, and
products in general.

Recommender systems are used to provide personalized


recommendations according to user profile and previous
behavior. Recommender systems are widely used in the Internet
Industry. Services like Amazon, Netflix, and YouTube are typical
examples of recommender system users. Recommender systems
cannot only help the users find their favorite products, but also
bring potential profit to online service providers

1.1 ABOUT THE PROJECT

The minor project has been developed on Movie Recommender


based on user profiles in effort to make it as attractive and
dynamic as possible. Compared to the existing site a database has
been added to our project.

The first page provides links to register and sign in. The Home
page contains several information about the recommended movie
based on user profile of their interest.
1.2 PURPOSE

The aim of the minor project is to design a website which contains


information of the movies using Movie Lens data set that should
improve efficiency of the movie recommender to the user.

1.3 SCOPE

This type of web application is suitable for all type movies


recommendation. Separate division is provided to maintain the
list of movies, rated movies list and watched movie list.
2. SYSTEM ANALYSIS

System analysis is the gathering and interpreting facts, diagnosing


problems and using the information to recommends
improvements on the system. System analysis- is the problem-
solving activity that requires intensive communication between
the system users and the system developers.

System analysis or study is an important phase of any system


development process. The system is studied to the minutest detail
and analyzed. The system analyst plays the role of an interrogator
and dwells deep into the working of the present system are
identified. The outputs from the organization are traced through
the various processing that inputs phase through in the
organization.

2.1 SOFTWARE REQUIREMENTS

Operating System: Window7, 8 Or Above.

Browser Front-End: Google Chrome, Mozilla etc..

Database Layer: sqlite3

Web Server: WSGI Server

Server-Side Scripting: Python

Client-Side Scripting: JavaScript.

Framework : Python Django Framework


numpy==1.16.1

pandas==0.24.1

Django==2.1.2

django_countries==5.3.3

scipy==1.2.1

djangorestframework==3.9.2

django-crispy-forms
E-R DIAGRAM FOR MOVIE RECOMMENDER

Age Group

GENERE Entity: Movie Recom


mendat User
ion Profile

Context: Location
How to Use This Movie Recommender Minor Project

1.Movies used in this project are subset of Movie lens dataset.

2.For simplicity we added 30 movies.

3.install requirements.txt files.

4.then start server with 8000 port.

5.new user can sign up by clicking register

6.existing user to login click on login button...

7.if logged in , you will have menu -- movies list, watched list,
logout

8.if you want to add to watched list click on any movie

9.if you want to give rating and review click on any movie

10.once you added to watched list, you can go to watched list

11.recommendations are given based user interests and ratings


given by user to other movies

12.we used SVD collaborative filtering algorithm.

13.To see rating based recommendations user should rate at least


one movie.
3.TECHNOLOGY USED
3.1 Python

Python is a popular programming language. It was created by


Guido van Rossum, and released in 1991.

It is used for:

 web development (server-side),


 software development,
 mathematics,
 system scripting.

Why Python?

 Python works on different platforms (Windows, Mac,


Linux, Raspberry Pi, etc.).
 Python has a simple syntax similar to the English
language.
 Python has syntax that allows developers to write
programs with fewer lines than some other programming
languages.
 Python runs on an interpreter system, meaning that code
can be executed as soon as it is written. This means that
prototyping can be very quick.
 Python can be treated in a procedural way, an object-
orientated way or a functional way.

3.2 Django

 It is Python MVT web Framework. (Model-View-


Template)
 The web Framework for Perfectionist with deadlines
 It encourages rapid development and clean, pragmatic
design.
 It is free open-source full stack python web framework.
 Makes it easier to build better web apps more quickly and
with less code.
Django is developed by Adrian Holovaty & Simon Willison. It
is maintained by DSF.
It is internal project for Lawrence Journal-World News Paper in
2003. It is dedicated to famous Guitarist Django Reinhardt.

Django Design Philosophies


1. Loosely coupled
2. Less coding
3. Don’t repeat yourself
4. Fast development
5. Clear design
Django Feature
1. Object relational mapper (ORM)
2. MVT (model view template)
3. Rapid development and fully loaded
4. Secure, SQL injection attack, cross site scripting, cross-site
request forgery.
5. Scalable and open source
6. Versatile, small apps, big apps, scientific, organization,
gov apps
7. LTS (Long Term Support) and mobile friendly
8. Simplified URL Routing Syntax
9. Forms and generic Views
Django MVT
The MVT (Model View Template) is a software design pattern.
It is a collection of three important component Model View and
Template. The Model helps to handle database.
The Template is a Presentation Layer which handles User
interface part completely. The view is used to execute business
logic and interact with a model to carry data and renders a
template.

3.3 HTML (Hypertext Markup Language)


Hypertext Markup Language (HTML) is the standard markup
language for creating web pages and web applications.
With Cascading Style Sheets (CSS) and JavaScript it forms a
triad of cornerstone technologies for the World Wide Web. Web
browsers receive HTML documents from a webserver or from
local storage and render them into multimedia web pages. HTML
describes the structure of a web page semantically and originally
included cues for the appearance of the document.

3.4 CSS (Cascading Style Sheets)

Cascading Style Sheets (CSS) is a style sheet language used for


describing the presentation of a document written in a markup
language. Although most often used to set the visual style of web
pages and user interfaces written in HTML and XHTML, the
language can be applied to any XML document, including plain
XML, SVG and XUL, and is applicable to rendering in speech,
or on other media. Along with HTML and JavaScript, CSS is a
cornerstone technology used by most websites to create visually
engaging webpages, user interfaces for web applications, and
user interfaces for many mobile applications.
3.4 JavaScript
JavaScript is a high-level, dynamic, untyped,
and interpreted programming language. It has been standardized
in the ECMA Script language
specification. Alongside HTML and CSS, JavaScript is one of
the three core technologies of World Wide Web content
production; the majority of websites employ it, and all
modern Web browsers support it without the need for plug-
ins. JavaScript is prototype-based with first-class functions,
making it a multi-paradigm language, supporting object-oriented
imperative, and functional programming styles. It has an API for
working with text, arrays, dates and regular expressions, but does
not include any I/O, such as networking, storage, or graphics
facilities, relying for these upon the host environment in which it
is embedded.

3.6 Bootstrap

Bootstrap is an open source toolkit for developing with HTML,


CSS, and JS. Quickly prototype your ideas or build your entire
app with our Sass variables and mix ins, responsive grid system,
extensive prebuilt components, and powerful plugins built on
jQuery.

Why Bootstrap?
1. Mobile first approach
2. Browser support
3. Responsive web design
4. Easy to get started
What is responsive Web design?
Responsive web design is to create web sites which adjust and
align themselves according to what media tool you use for
viewing it.

Features of Bootstrap
1. Save lots of time
2. Responsive feature
3. Consistent design
4. Easy to use
5. Compatible with browser
6. Open source
5. Libraries Used in This Minor Project

5.1 NumPy

NumPy stands for Numerical Python. The most powerful feature


of NumPy is n-dimensional array. This library also contains basic
linear algebra functions, Fourier transforms, advanced random
number capabilities and tools for integration with other low-level
languages like Fortran, C and C++.
5.2 Pandas
Pandas for structured data operations and manipulations. It is
extensively used for data munging and preparation. Pandas were
added relatively recently to Python and have been instrumental in
boosting Python’s usage in data scientist community.
5.3 SciPy
SciPy stands for Scientific Python. SciPy is built on NumPy. It is
one of the most useful libraries for variety of high-level science
and engineering modules like discrete Fourier transform, Linear
Algebra, Optimization and Sparse matrices.
6.SQLITE 3 DATABASE

SQLite is a C-language library that implements a small, fast, self-


contained, high-reliability, full-featured, SQL database engine.
SQLite is the most used database engine in the world. SQLite is
built into all mobile phones and most computers and comes
bundled inside countless other applications that people use every
day. More Information...

The SQLite file format is stable, cross-platform, and backwards


compatible and the developers pledge to keep it that way through
at least the year 2050. SQLite database files are commonly used
as containers to transfer rich content between systems and as a
long-term archival format for data. There are over 1 trillion
SQLite databases in active use.

SQLite source code is in the public-domain and is free to


everyone to use for any purpose.

Database Table

Movie

MovieId MovieTitle MovieYear MovieGener


Ratings

UserId MovieId rating review

Watched_list

UserId MovieTitle

User
hobies age_group gender country location fav_gener Type of
user
7.OUTPUT SCREENSHOT

Index Page

Registration Page
Login Page

User Profile Home Page


Movie List Page

Rate and Review Page


8.CONCLUSION

In our project, collaborative filtering algorithm is used to predict


user’s movie rating. The Movie Lens 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 result, our movie recommender system has pretty
good prediction performance
REFERENCES
[1] https://www.geeksforgeeks.org/python-implementation-of-
movie-recommender-system/

[2] https://towardsdatascience.com/how-to-build-a-simple-
recommender-system-in-python-375093c3fb7d

[3] https://medium.com/code-heroku/building-a-movie-
recommendation-engine-in-python-using-scikit-learn-
c7489d7cb145

You might also like