Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Model performance #32

Closed
yuanb07 opened this issue Mar 26, 2024 · 3 comments
Closed

Model performance #32

yuanb07 opened this issue Mar 26, 2024 · 3 comments

Comments

@yuanb07
Copy link

yuanb07 commented Mar 26, 2024

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.

@Re-bin
Copy link
Collaborator

Re-bin commented Apr 5, 2024

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

@yuanb07
Copy link
Author

yuanb07 commented Apr 16, 2024

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]?

@Re-bin
Copy link
Collaborator

Re-bin commented Apr 17, 2024

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

@Re-bin Re-bin closed this as completed Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants