Coder Social home page Coder Social logo

experimental-mf's Introduction

Fast Matrix Factorization

Features

  • Cache-friendly Multithread Matrix Factorization.
  • Fast Multithread Stochastic Gradient Langevin Dynamics (SGLD) for Matrix Factorization.
  • Fast Multithread Differentially Private Matrix Factorization.
  • Matrix Factorization with Adaptive Regularizer.

Data

We support Google's Protobuf as input. Try data/getdata.cc to convert from userwise raw data to protobuf format:

./getdata -r [userwise_raw_data] -w [protobuf_binary] --method [protobuf] --size [int]

A sample of userwise raw data looks like:

0:
11,5.0
21,3.0
1:
9,5.0
12,1.0

where there are two users '0' and '1'.

Or if you only have rating wise raw data, you can first convert to a userwise raw data:

./getdata -r [rating_wise_raw] -w [userwise_raw_data] --method [userwise] --split [int]

A sample of rating_wise_raw data with a header looks like:

100000
0,1,5.0
0,2,1.0

where the header indicates the number of ratings, and follows by user_id, item_id and rating in each line.

Environment Requirment

  • GCC 4.9 or higher

    tar zxf gcc-4.9.2.tar.gz;cd gcc-4.9.2;contrib/download_prerequisites;cd ..;mkdir buildc;cd buildc;../gcc-4.9.2/configure --disable-multilib;make -j 32;sudo make install;cd ..;
  • Intel TBB

    sudo apt-get install libtbb-dev
  • Google Protobuf

    sudo apt-get install -y libprotobuf-dev; sudo apt-get install -y protobuf-compiler;
  • Intel MKL

Reference

[1] Fast Differentially Private Matrix Factorization. Ziqi Liu, Yu-Xiang Wang, Alex Smola.

[2] Learning recommender systems with adaptive regularization. Steffen Rendle.

experimental-mf's People

Contributors

ziqilau avatar mli avatar andresmore avatar

Watchers

James Cloos avatar CMU学Drama 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.