项目作者: ArminKaramzade

项目描述 :
Exploiting scoial networks data in recommender systems.
高级语言: Python
项目地址: git://github.com/ArminKaramzade/Social-Matrix-Factorization.git
创建时间: 2018-07-19T11:56:32Z
项目社区:https://github.com/ArminKaramzade/Social-Matrix-Factorization

开源协议:MIT License

下载


Social-Matrix-Factorization

Simple model for exploiting scoial networks data in recommender systems.

Model

  • : Score rated by user to item


  • : Hidden feature vector for user


  • : Hidden feature vector for item


  • : Hidden weight for user impact on user


SMF Model



Model Distributions




is estimated from predictive distribution approximated by varational infrence. See the doc.pdf for more information and derivations.

Useage

To train model set hyperparameters and use .train() method. For load the model and predict scores from data initialize the model with network=network, load=True and use .predict(data) method.



Take a look at main.py for train and load model.



To speed up you can limit each user outdegree with setting LIMIT in main.py. Data format is available in dataset/readme.txt

Example

Output of main.py:


train-rmse

  1. iteration 0 RMSE: 1.1623740799051603
  2. iteration 1 RMSE: 0.974779153572551
  3. iteration 2 RMSE: 0.9061886948956133
  4. iteration 3 RMSE: 0.8767977965409327
  5. iteration 4 RMSE: 0.8624643916488482
  6. iteration 5 RMSE: 0.85406229979618
  7. iteration 6 RMSE: 0.8484390298439565
  8. iteration 7 RMSE: 0.8441520641876232
  9. iteration 8 RMSE: 0.8405251123950408
  10. iteration 9 RMSE: 0.8375187875896802
  11. iteration 10 RMSE: 0.8351068584344935
  12. RMSE on validation data: 1.022167855935175