A1 - Recommendation System

Description

  • In this assignment, you shall implement a recommendation system for the movie's data set.
  • You can use any programming language you like.
  • You can work alone or in a group of two students.
  • You shall present your application and code at an oral examination.

Submission instructions

See the Deadlines and Submissions page.

Requirements

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).

Test cases – small example dataset

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:
    A1-small-Ex1.png
  • Find recommended movies for user Mike using Pearson similarity:
    A1-small-Ex2.png
  • Find recommended movies for user Mike using Item-based filtering:
    A1-small-Ex3.png

Test cases – large 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:
    A1-Ex1.png
  • Find recommended movies for user Will using Pearson similarity:
    A1-Ex2.png
  • Find recommended movies for user Andy using Item-based filtering:
    A1-Ex3.png