RUCAIBox / RecBole

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

[💡SUG] Allow benchmark_filename to accept only train/test split for sequential recommendation #2075

Open tduricic opened 3 weeks ago

tduricic commented 3 weeks ago

Is your feature request related to a problem? Please describe. When using the benchmark_filename parameter for sequential recommendation, it requires specifying train, validation, and test sets in a list format (e.g., ['part1', 'part2', 'part3']). However, after hyperparameter tuning, I want to provide only a train/test split (e.g., ['part1', 'part2']) without needing a validation set, so I can train the final model on the combined train/validation data and evaluate it on the test set.

Describe the solution you'd like I would like to be able to give only a train/test split in benchmark_filename (e.g., ['part1', 'part2']), where part1 is used for training and part2 for testing, bypassing the need for a validation set after hyperparameter tuning.

Describe alternatives you've considered Manually combining the train and validation sets outside RecBole or modifying the validation requirements in the code, but both are inefficient and error-prone.

Additional context This feature would simplify the workflow for sequential recommendation by allowing direct training on a train/test split, making it easier to utilize the full dataset for final model training after hyperparameter optimization.

Fotiligner commented 1 week ago

Thanks for your attention to RecBole! We will add this function in the following update. Before that, you could manually merge the train/valid data files together as the 'part1' file.