REPO DESCRIPTION

Our FM implementation is based on tensorflow 1.12.0.
You can run our reference training code on-the-fly using the following command:

#--------------------------how to train----------------------------#
./train.sh <training_path> <validation_path> <save_model_dir> <batch_size> <embedding_size> \
           <optimizer [adagrad, adam]> <lr> <task [finish, like]> <track [1, 2]>  

CODE STRUCTURE

 
#--------------------------run script------------------------------#
train.sh  

#----------------------------train---------------------------------#
train.py  

#------------------------common operation--------------------------#
common/  
        model_args.py  
  
#--------convert input text data into tensorflow batch need--------#
data_io/  
       data_parser.py  

#-------------prepare model and build up main framework------------#
models/  
       model.py  

#---------------common algorithm and models for recom--------------#
model_zoo/  
       fm.py  

#-----------------utils for str or data processing-----------------#
utils/  
       utils.py
 

ALGORITHM: FACTORIZATION MACHINE

image

BASELINE

Our baseline results with 5 features (user_id, user_city, item_id,author_id,item_city):

  • TRACK2 LIKE TASK:
  auc: 86.5% 
  #------------------------params-------------------------#
  embedding_size = 40
  optimizer = adam  
  lr = 0.0005
  • TRACK FINISH TASK:
  auc: 69.8% 
  #------------------------params-------------------------#
  embedding_size = 40
  optimizer = adam   
  lr = 0.0001