Content Based Recommender System recommends movies similar to the movie user likes.
The details of the movies(title, genre, runtime, rating, poster, etc) are fetched using an API by TMDB, https://www.themoviedb.org/documentation/api,
- Clone or download this repository to your local machine.
- Install all the libraries mentioned in the requirements.txt file with the command
pip install -r requirements.txt
- Get your API key from https://www.themoviedb.org/. (Refer the above section on how to get the API key)
- Replace TMDB_API_KEY in the
app.py
with your own on line no. 8 hit save. - Open your terminal/command prompt from your project directory and run the file
app.py
by executing the commandpython app.py
. - Go to your browser and type
http://127.0.0.1:5000/
in the address bar.
Used the IMDB's weighted rating formula to construct the chart. Mathematically, it is represented as follows:
Weighted Rating (WR) = (vv+m.R)+(mv+m.C)
where,
v
is the number of votes for the movie
m
is the minimum votes required to be listed in the chart
R
is the average rating of the movie
C
is the mean vote across the whole report
Cosine similarity is a metric used to measure how similar the documents are irrespective of their size. Mathematically, it measures the cosine of the angle between two vectors projected in a multi-dimensional space. The cosine similarity is advantageous because even if the two similar documents are far apart by the Euclidean distance (due to the size of the document), chances are they may still be oriented closer together. The smaller the angle, higher the cosine similarity. Used the Simple Recommender to improve the content based recommender.
-
Making the model hybrid between content and collaborative filtering or maybe even use nn.
-
Would be better to create an api for accessing the recommendation system separately.
-
A database which gets updated with newer movies could be used.