I have been working with a RecSys model, for the first time, by experimenting with matrix factorization and matrix factorization with EmbedNN's. However, I am running into a memory problem since my dataset is too big considering all interacted items in the last 3 months of the marketplace. There are also too many users with few items interacted (approx. 2kk users and 800k items).
How do you approach this problem and how do you sample the original dataset in a RecSys?
I have thought of a few, but I do not know which kind of bias I might be introducing, or if there is a common bias trade-off people assume in marketplaces, RecSys produtionized systems.
- Randomly sample the user-item-scoring row
- Sample grouped by users, to preserve items information
- Get only recently uploaded items
- Get only most popular items (heavy feedback loop?)