-
Notifications
You must be signed in to change notification settings - Fork 1
Recommendation Algorithm
Our recommendation algorithm comprises of three steps:
- Seeding: select favourite movies as seeds for recommendation
- Associating: find similar movies based on the seeds
- Fitting: select based the projected score based on user history and public ratings
The latter two steps are very time consuming and take up most of the time of the recommending process for each user. Thus, the process must be optimised.
During the seeding step, we select all the movies that are rated above 8 points by user. These movies are considered user's favourite movies, and we use these movies as the starting point to generate a pool of similar movies for further selection.
To create a pool of similar movies, we need to first calculate the similarity between each movie. By assigning different weights to data fields such as actors, directors, genres and the length of runtime, we manage to calculate a numeric value that represents similarity, ranged between 0 and 1, thereby generating the similar movie pool based on certain threshold. In our case, we used 0.5 as an arbitrary start.
Using the three public ratings and user ratings, we are able to create a multi-linear regression model. With this model, given the three public ratings of an unwatched movie, we are able to predict the expected score for that particular user.
-
2.1 Team Details
2.2 Project Worklog
-
5.1 Usability
5.2 Efficiency
5.3 Robustness
5.4 Security