Brice-Vergnou / movie_recommendation

Create a hybrid recommendation system to suggest the most relevant movies for a user

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Netfizz - Movie recommendation

About a year ago, I made a Spotify Recommendation project that I wasn't quite proud of, because it wouldn't work like a normal recommendation system. In this project, I used the movielens dataset to create a more realistic model. The model is hybrid ( it both uses content-based filtering and collaborative filtering ).

Then, I turned this model into an API using FastAPI and rendered it in a website. The results are quite satisfying to me.

From this

image

To this

The recommendations

If you want to test it and have it deployed on internet, here are the following steps:

  • Install the repo :
git clone https://github.com/Brice-Vergnou/movie_recommendation.git
cd movie_recommendation
  • Get the right libraries :
pip install -r requirements.txt
  • Deploy the web page locally thanks to the live server extension from Visual Studio
  • Deploy the API locally :
uvicorn api:app --reload
  • Install ngrok
  • Change your config file to :
authtoken: <your_token>
tunnels:
  live:
    proto: http
    addr: 5500 # You can change the port to whatever you want, as long as it is the web port
  api:
    proto: http
    addr: 8000 # Same thing with the API port
  • Start all your tunnels:
ngrok start --all
  • Get a CORS proxy :
# From any folder
git clone https://github.com/Rob--W/cors-anywhere.git
cd cors-anywhere/
npm install
heroku create
git push heroku master
  • Change the urls used in script.js in the first lines by your api server url and heroku proxy url

About

Create a hybrid recommendation system to suggest the most relevant movies for a user


Languages

Language:Jupyter Notebook 98.8%Language:Python 0.4%Language:JavaScript 0.3%Language:HTML 0.3%Language:CSS 0.2%