Skip to content

A1 - Recommendation System

  • In this assignment, you shall implement a recommendation system for the movie’s data set.
  • You can use any programming language you like.
  • You shall present your application and code at an oral examination.

See the Deadlines and Submissions page.

GradeRequirements
E
  • Build a recommendation system that can find similar users and find recommendations for a user, using the movies large dataset (see Datasets page).
  • You can verify that your application works by using the example dataset from the lecture (see Datasets page).
  • Use Euclidean distance as the similarity measure.
  • Implement the system using a REST web service where:

    1. client sends a request to a server
    2. the server responds with json data
    3. the json data is decoded and presented in a client GUI
C-D
  • Implement the Pearson Correlation similarity measure.
  • It shall be possible to select which measure to use from the client GUI.
A-B
  • Implement functionality for pre-generating an Item-Based Collaborative Filtering table by transforming the original data set.
  • Use the pre-generated table to implement a second way of finding recommendations for a user.
  • You shall only use Euclidean distance as the similarity measure.
  • It shall be possible to select how to find recommendations from the client GUI (Item-Based or User-Based).

Here are some test cases for the small example dataset you can use to verify that your system works correctly.

  • Find recommended movies for user Mike using Euclidean distance:

    Recommended movies for Mike using Euclidean distance, small example dataset
  • Find recommended movies for user Mike using Pearson similarity:

    Recommended movies for Mike using Pearson similarity, small example dataset
  • Find recommended movies for user Mike using Item-based filtering:

    Recommended movies for Mike using item-based filtering, small example dataset

Here are some test cases for the larger dataset you can use to verify that your system works correctly.

  • Find recommended movies for user Angela using Euclidean distance:

    Recommended movies for Angela using Euclidean distance, large dataset
  • Find recommended movies for user Will using Pearson similarity:

    Recommended movies for Will using Pearson similarity, large dataset
  • Find recommended movies for user Andy using Item-based filtering:

    Recommended movies for Andy using item-based filtering, large dataset
CCBY