GithubHelp home page GithubHelp logo

movie-lens-cf's Introduction

movie-lens-cf

collaborative filtering with movie lens data test follownig models:

  • K Nearest Neighbor: User based & Item based
  • Matrix Factorization: L2 cost function with Stochastic Gradient Descent

Rating Prediction vs Recommendation

  • Rating Prediction: Given user_id and unrated movie_id, predict rating.
  • Recommendation: Given user_id, predict a list of movie_ids with highest expected rating.

Recommendation: User-based CF vs Item-based CF

Whether it's user-based or item-based, there's no fundamental difference between two methods. If there are approximately same users and items, you can pick either way. However, when either user or item grows much bigger than the other, the time required to find neighbors grows. This is when it becomes clear which one to choose.

Suppose a single user has rated A items on average and top k is 30. (M users and N items in total)

  • User-based: for 30 similar users to a user, examine A itmes per similar user.
    -> Searching 30 similar users among M users + 30 * A items
  • Item-based: a user has rated A items, and we search for maximum 30 similar items for each rated item.
    -> A items * Searching 30 similar items among N items

As you can see, the only difference between user-based and item-based cf comes from the time required for searching neighbors.

Quick Start

python recommendation.py

movie-lens-cf's People

Contributors

heekyungyoon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.