I am trying to build an SVD-based recommender system. According to my understanding, the training data should only contain the users who buy at least m items and the items which are bought by n unique users. Otherwise, if I use all users and items (including low-frequency users and items), I think the training data will be noisy.
However, here is the problem: To build the training data for SVD, I first retrieve all users who buy at least m items from the database. But there are some items bought by these users are not bought by at least n users. But after further filtering out these low-frequency items from the training data, some of the remaining users will not have item sets which contain m items because some items are deleted.
I feel that I am not on the right track. How am I supposed to build the training data for SVD?