A C++ implementation of a User-Based Collaborative Filtering (UBCF) recommender system that predicts a user's rating for a movie based on the ratings of similar users.
- Ratings are loaded into a nested map:
user -> item -> rating. - User-to-user similarity is computed with a custom "ITR" similarity measure, combining a triangle-similarity term with a mean/variance-based term, rather than the more common cosine or Pearson similarity.
- For a given (user, item) pair, the top-
kmost similar users (similarity > 0.3) who rated that item are used to compute a similarity-weighted average rating prediction.
Reads from standard input:
train dataset
<userId> <itemId> <rating>
...
test dataset
<userId> <itemId>
...
Outputs one predicted rating per test pair (2 decimal places).
C++ (STL: map, vector, <cmath>), no external dependencies.
Report.docx contains the accompanying written report/analysis for this project.