Closed yuanb07 closed 2 months ago
Hi 👋!
Apologies for the delayed response, and thank you for your interest in SSLRec! Currently, we only test and saved the optimal hyperparameters based on the Gowalla dataset for all methods, for reference.
To conduct a grid search on a new dataset (e.g., the Yelp and Amazon), you can change the value of tune-enable
in the YAML file to true
and then run the main.py
file. The results will be saved in a log file, where you can find the best performance.
Here are some results we obtained before that may be helpful to you :)
yelp
LightGCN:
- Default hyperparameter
- Test set [recall@10: 0.0450 recall@20: 0.0713 recall@40: 0.1085 ] Test set [ndcg@10: 0.0273 ndcg@20: 0.0351 ndcg@40: 0.0441 ]
SGL:
- hyperparameter: {'layer_num': 2, 'reg_weight': 1e-05, 'cl_weight': 1.0, 'temperature': 0.5}
- Test set [recall@10: 0.0556 recall@20: 0.0850 recall@40: 0.1293 ] Test set [ndcg@10: 0.0341 ndcg@20: 0.0428 ndcg@40: 0.0536 ]
NCL:
- hyperparameter: {'temperature': 1.0, 'proto_weight': 0.01, 'struct_weight': 0.001}
- Test set [recall@10: 0.0471 recall@20: 0.0753 recall@40: 0.1142 ] Test set [ndcg@10: 0.0291 ndcg@20: 0.0374 ndcg@40: 0.0469 ]
DCCF:
- hyperparameter: {'layer_num': 2, 'reg_weight': 0.001, 'cl_weight': 0.1, 'temperature': 0.5}
- Test set [recall@10: 0.0546 recall@20: 0.0854 recall@40: 0.1302 ] Test set [ndcg@10: 0.0342 ndcg@20: 0.0433 ndcg@40: 0.0542 ]
amazon
LightGCN:
- Default hyperparameter
- Test set [recall@10: 0.0522 recall@20: 0.0821 recall@40: 0.1245 ] Test set [ndcg@10: 0.0431 ndcg@20: 0.0532 ndcg@40: 0.0662 ]
SGL:
- hyperparameter: {'layer_num': 2, 'reg_weight': 1e-06, 'cl_weight': 1.0, 'temperature': 0.2}
- Test set [recall@10: 0.0654 recall@20: 0.0978 recall@40: 0.1416 ] Test set [ndcg@10: 0.0554 ndcg@20: 0.0662 ndcg@40: 0.0797 ]
NCL:
- hyperparameter: {'temperature': 0.1, 'proto_weight': 0.0001, 'struct_weight': 0.001}
- Test set [recall@10: 0.0607 recall@20: 0.0951 recall@40: 0.1426 ] Test set [ndcg@10: 0.0502 ndcg@20: 0.0617 ndcg@40: 0.0764 ]
DCCF:
- hyperparameter: {'layer_num': 2, 'reg_weight': 0.0001, 'cl_weight': 0.1, 'temperature': 0.2}
- Test set [recall@10: 0.0814 recall@20: 0.1155 recall@40: 0.1583 ] Test set [ndcg@10: 0.0719 ndcg@20: 0.0829 ndcg@40: 0.0961 ]
You can also try it on your own device to see the results, which may have some fluctuations, but that's fine :)
Best regards, Xubin
Thank you for your reply.I have another question.I find that the tune cl_weight of SGL and Simgcl is [1.0, 1.0e-1, 1.0e-2].So should i set the same one for my model to tune in order to keep fair?Could i set the different one such as [0.1,0.2,0.5,1]?
Hi!
I think that's okay because the purpose of grid search is to find the best hyper-parameters for the model. We just set the search range based on our empirical experience, and you can also change the search range by yourself :)
Best regards, Xubin
I want to know model performance reproduced by SSLRec for General Collaborative Filtering on Yelp and Amazon dataset. If there are experimental results, could you show them to me? Thank you a lot.