https://github.com/dmlc/experimental-mf
cache-friendly multithread matrix factorization
https://github.com/dmlc/experimental-mf
Last synced: 2 months ago
JSON representation
cache-friendly multithread matrix factorization
- Host: GitHub
- URL: https://github.com/dmlc/experimental-mf
- Owner: dmlc
- License: apache-2.0
- Created: 2015-05-28T18:19:20.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-06-29T04:40:19.000Z (almost 9 years ago)
- Last Synced: 2025-03-29T15:04:36.076Z (3 months ago)
- Language: C++
- Size: 59.6 KB
- Stars: 88
- Watchers: 22
- Forks: 32
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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.0where 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.