Table of Contents
- Movie Recommendation Engine project built during Microsoft Engage 2022 program.
- It is a movie recommending application through which we can get recommendation on the basis of our favourite genres or our favourite movie.
- The App is called "Recliner Lounge", as it gives the best recommendation for any occastion to watch a movie at our favoured comfort.
- User registers through entering name.
- User can make choice of which type of recommendation they want - Movie based or Genres based.
- Since the IMDB score adjustment is provided for the recommendations, therefore inhabits the popularity-based filtering as well.
- Recommendations are redirecting the user to its IMDB page, in order to give better user experience.
- The user can adjust the number of recommendations and the IMDB scores, to get optimum suggestions.
Laptops, Desktops, Tablet, PCs and Phones (Android and IOS). The only requirement is to sign up on Streamlit.
- Libraries used - NumPy, Scikit-Learn, Matplotlib, Pandas
- Code built using - Jupytor, Google colab, Visual Studios
- App building - Streamlit
- Deployment - Streamlit
Agile refers to a group of software development methodologies based on iterative development and is frequently being adopted in the software industry. Agile promotes teamwork, flexible procedures, and results in delivery of high quality software.
Scrum and kanban are the primary agile processes. SCRUM is a subset of Agile, a framework for developing software. SCRUM takes advantage of different techniques to achieve goals in Agile. I implemented scrum, which organizes the work in cadences called sprints, usually is performed on a very short time period.
-
Sprint 1 (May 4 - May 10): Exploring and understanding the different approaches
- Researched about different algorithms used in recommendation systems - Content-based filtering, Collaborative-based filtering and Hybrid Reccomendation approach. - Understood the requirements for each algorithms and traversed through many datasets for the application.
-
Sprint 2 (May 11 -May 17): Planning the Engine-making process and Determining the languages and softwares to utilise
- Researching about various Machine Learning libraries and platforms that can be used to make a recommendation system app with a minimum functionality to have content and collaborative filtering.
- Finalised to use Machine Learning in Python Language using Google Colab and Visual Studios.
- Eventually utilised the movies_metadata dataset which consists of more than 5000 movies and their information.
-
Sprint 3 (May 18 - May 24): Implementation of the Algorithm and Execution of the System built
- Started the development process by taking help from YouTube tutorials.
- Built an web application using Streamlit for the very first time.
-
Sprint 4 (May 25 - May 29): Debugging, Deployment and Final Submission
- Encountered occasional bugs which I debugged timely. Made required changes in the UI, added images and mode to make it user friendly.
- Deployemnt was a challenge as it took several debuggings to make the app available on different platforms.
To run this project on your local systems, following are the requirements:
- Sign Up on Streamlit
- Other than this, there are no prerequisites to run the "Recliner Lounge" - Movie Recommendation Engine on your systems.
- Just simply click on the link and the engine can be used to your satisfiability.
- After the link is accesssed and the web app opens, you will come across this view.
- The very first step is required to fill your name in the space provided.
- 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 Wreck-it Ralph :
- 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.
- If you click on any recommended movie, you will be directed to its IMDB page. Here, I've clicked on Sleeper :
- In order to accompany your searching time, music is provided. Optional to vibe.
- 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.











