Closed dscolby closed 7 months ago
There are basically two approaches that I think would work here.
Right now I'm leaning towards the matrix factorization approach but am open to other ideas and questions.
In either of these approaches, though, we will probably need to group events together. For example, if we were recommending movies, we would have users watching a movie many times> But in our case, an event only happens once, so using it as a column/arm to recommend when it will not happen again would be a waste of time and resources. My guess is that we would want to use some kind of clustering/embedding/PCA to group similar events together.
We will go with the matrix factorization approach using neural collaborative filtering but also adding other features besides interactions to the user and event vectors. At inference time, we will just take the top k predictions and make sure they have not already occurred.
Update, we are actually going to use a Deep Factorization Machine. It is similar to the NCF but more expressive and easier to make recommendations because it doesn't need a user or item ID.
Need to figure out which learning paradigm, package(s), and inputs we need.