Table of Contents
- This mentorship programme was no less than a roller coster ride for me. I learnt a lot of things during this period.
- I also came to know that Netflix(the movie streaming site), once threw an open challenge to make improvements in its recommendation system and win a prize of 1M dollars. Quite huge huh!
- Recommendation engines are becoming time and forth the driving factors for most of the brands and startups out there.
- Initially, when I chose the project, I tried choosing the best of the methods and algotrithms than can be chosen to make a recommendation engine.
- Over time I realized, that every algorithm out there can be implemented as per our requirements and thus to choose an algorithm which i can make the best use of.
- The I chose to go with Content-based Recommendation system(as I thought I can implement that well) and it is based on the popularity index.
- The dataset I used is available here
- This contained a list of 5043 movies and various details of the movies.
- This is a movie recommendation engine, a project built during the Microsoft Engage 2022 mentorship programme.
- This system make use of content based recommendation methods and it gives recommendations on the basis of genres and movie contents.
- The model used KNN algorithm to determine the similarity in the content of the movies and thus produce relevent recommendations.
- The user can make choices about the type of content they want to watch.
- There are two categories they can choose upon- Genre based and movie based.
- And yes, the user can also adjust the IMDB ratings of the movies they want to select from.
- Also, and added feature is, the user can adjust the number of movies they want to be recommended to them.
The app works well with across all the devices and all the operating systems.
- Libraries used - NumPy, Scikit-Learn, Matplotlib, Pandas
- IDEs used - Jupytor, Visual Studio Code
- App buit using - Streamlit
- Deployment - Heroku
Until the app gets deployed link starts working efficiently, the app can be accessed by: To run this project on your local systems, the requirements are as follows:
- Download the zip file from the option above.
- Extract the contents on your local machine.
- Install the required dependencies by-
pip install streamlit
pip install numpy
- open the terminal from the required directory and type the command-
streamlit run app.py
- After you run the above command, you will be redirected to your browser and you will the see the following:
- You will see an option to select the application
- User can select the mode of recommendation as Movie-based or Genre-based by clicking on the down arrow for 'Select Application'.
- If Movie-based application is selcted, then user needs to enter a movie similar to which the user will get the recommendations.
- There are tons of options of movies of the user to choose from by clicking on the down arrow.
- Then, for the selected movie, recommendations will be provided. The default number of recommendations is set at 5, but you may increase or decrease the number of recommendations as per your requirement.
- The recommendations provided also enables you to check it's overview and it's trailer by clicking on the Movie you choose from the recommendations and you will be directed to its IMDB page. Here, I clicked on Avatar :
- If Genre-based application is selected, then the user needs to select either one or more genres from the options provided.
- Then you may adjust the IMDB score according to your requirement for the recommendations. Here as well, you may increase or decrease the number of recommendations you require.
- You can also increase the number of recommendations :
- The features to be added are-
- A login page which requires the user to make an account and then visit the site.
- A favourites cart in which you can keep your favourite movies and revisit them when required.
- On comparison, Content-based filtering will only give partial results for recommendation while collaborative-based filtering will give many possible results for the user seeking recommendation.
- But when combining the content-based and collaborative-based filtering together as the Hybrid approch, then the user is getting a very pact solution and convincing recommendations. This is the reason that hybrid approach is being used largely in recommendation systems.
- Popularity-based filtering is another algorithm type which recommends the most seen or liked items to the user. This is inculcated in the 'Recliner Lounge' Web App as the option to adjust the IMDB Scores.