RUCAIBox / RecBole

A unified, comprehensive and efficient recommendation library
https://recbole.io/
MIT License
3.43k stars 614 forks source link

[🐛BUG] train-validation-test split of graph-based model #1921

Open nidohsp opened 11 months ago

nidohsp commented 11 months ago

Hello,

Thank you for this great lib. I have a question about the train-validation-test protocol in graph-based model. Using LightGCN for example, It seems that you initialize the model with u-i graph based on training dataset and not change it in test phase: https://github.com/RUCAIBox/RecBole/blob/92e2f96cadd4214664d4efb8510e96373411e5c6/recbole/model/general_recommender/lightgcn.py#L44-L48 However, when use train-validation-test protocol for model test, I think the u-i graph should be updated with training set and validation set (the original implementation of lightgcn did not use validation set, hence they did not update the graph). Did I misunderstand something in the recbole implementation or are there any reasons for this?

TayTroye commented 11 months ago

@nidohsp Hello! Thanks for your attention to RecBole.We kept the same implementation as the original code.Because the division of the dataset is randomized, so we initialize the model with u-i graph based on training dataset.