Chris Pollett > Students > Padmashali

    Print View

    [Bio]

    [Blog]

    [CS 297 Proposal]

    [Deliverable 1]

    [Netflix Recommender System - PDF File]

    [Deliverable 2]

    [Deliverable 3]

    [Deliverable 4]

    [CS 297 Report - PDF File]

    [CS 298 Proposal]

    [CS 298 Report - PDF File]

    [CS 298 Final Presentation Slides - PDF File]

























Latent Matrix Factorization

Matrix factorization tries to find the latent features about how users rate items. For example a bunch of users may rate a particular restaurant high because they like the cuisine or the ambience of a restaurant. Some people might rate the same restaurant poorly because they don't like the cuisine or the ambience. In this example, cuisine and ambience are the two features based on which we can predict whether a particular user might like a restaurant or not.

With the help of matrix factorization techniques we can find these hidden features, using which we can predict the rating a user would give to a restaurant. The number of hidden features is very small as compared to the number of restaurants and users.

Matrix factorization tries to factorize a matrix of ratings such that the factors when multiplied are as close as possible to the original matrix. I have used the gradient descent technique for this particular implementation and have also used some regularization techniques to avoid over fitting.

Implementation:

Latent Matrix Factorization - The python code to predict the rating of a particular user.

Input.txt - Sample input file (json file) containing the reviews which users have given about restaurants.

Running the code

One can run the program from the terminal by running the following command:

$ python matrixFactorization.py "User_ID" "Business/Restaurant ID"

Example:$ python matrixFactorization.py nEYPahVwXGD2Pjvgkm7QqQ mYSpR_SLPgUVymYOvTQd_Q