A C library for product recommendations/suggestions using collaborative filtering (CF)
Clone or download
Latest commit 54dffda Aug 28, 2018

README.md

Recommender Build Status

GitHub stars GitHub license Language grade: C/C++

A C library for product recommendations/suggestions using collaborative filtering (CF).

Recommender analyzes the feedback of some users (implicit and explicit) and their preferences for some items. It learns patterns and predicts the most suitable products for a particular user.

Features

  • Collaborative Filtering
  • User and Item based recommenders
  • No external dependencies
  • Fast running time ~ 81 seconds for 10 million ratings (on MovieLens Data Sets)
  • Memory footprint under 160 MB for 10 million ratings

Webpage

http://ghamrouni.github.com/Recommender/

Building

To compile Recommender:

make

The compilation will produce libRecommender.a

To compile an example:

gcc test/test.c src/libRecommender.a -lm -o test/t1 -I src/

Alternatively you can use clang

clang test/test.c src/libRecommender.a -lm -o test/t1 -I src/

Keywords

Collaborative filtering, recommender system

References

  1. http://en.wikipedia.org/wiki/Recommendation_system
  2. http://public.research.att.com/~volinsky/netflix/kdd08koren.pdf
  3. http://research.yahoo.com/files/ieeecomputer.pdf