TenforFlow Implementation of Neural Factorization Machine
Clone or download
Latest commit ca2a5d1 Jul 16, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
data first commit Aug 2, 2017
FM.py Add Neural FM codes Jul 16, 2018
LoadData.py Add Neural FM codes Jul 16, 2018
NeuralFM.py Add Neural FM codes Jul 16, 2018
README.md Update README.md Jul 16, 2018


Neural Factorization Machines

This is our implementation for the paper:

Xiangnan He and Tat-Seng Chua (2017). Neural Factorization Machines for Sparse Predictive Analytics. In Proceedings of SIGIR '17, Shinjuku, Tokyo, Japan, August 07-11, 2017.

We have additionally released our TensorFlow implementation of Factorization Machines under our proposed neural network framework.

Please cite our SIGIR'17 paper if you use our codes. Thanks!

Author: Dr. Xiangnan He (http://www.comp.nus.edu.sg/~xiangnan/)

Example to run the codes.

python NeuralFM.py --dataset frappe --hidden_factor 64 --layers [64] --keep_prob [0.8,0.5] --loss_type square_loss --activation relu --pretrain 0 --optimizer AdagradOptimizer --lr 0.05 --batch_norm 1 --verbose 1 --early_stop 1 --epoch 200

The instruction of commands has been clearly stated in the codes (see the parse_args function).

The current implementation supports two tasks: regression and binary classification. The regression task optimizes RMSE, and the binary classification task optimizes Log Loss.


We use the same input format as the LibFM toolkit (http://www.libfm.org/).

Split the data to train/test/validation files to run the codes directly (examples see data/frappe/).

Last Update Date: May 11, 2017