# experimental-mf **Repository Path**: mirrors_dmlc/experimental-mf ## Basic Information - **Project Name**: experimental-mf - **Description**: cache-friendly multithread matrix factorization - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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 ```bash 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 ```bash sudo apt-get install libtbb-dev ``` * Google Protobuf ```bash sudo apt-get install -y libprotobuf-dev; sudo apt-get install -y protobuf-compiler; ``` * Intel MKL ## Reference [1] [Fast Differentially Private Matrix Factorization](http://arxiv.org/abs/1505.01419). Ziqi Liu, Yu-Xiang Wang, Alex Smola. [2] Learning recommender systems with adaptive regularization. Steffen Rendle.