Viewing a single comment thread. View all comments

fragilistical t1_izhff08 wrote

Collaborative filtering and matrix factorization are your best bets for this amount of data. Don’t try anything neural networks related unless you have millions of rows of training data

1

blablanonymous t1_izixlxm wrote

Hmm neural networks can be arbitrarily small. You can model logistic regression with a neural net. You could definitely try a simple neural network with one embedding layer for users and one for products and use a sigmoid activation for the output layer. Then you need to combine these layers in some ways, for instance a simple dot product or concatenation. You can start with no hidden layer and add more if the results are not satisfactory.

1

cantfindaname2take t1_izj23g5 wrote

This already looks over complicated compared to the simply deployable and explainable alternatives that have been proven over time to be better at this problem for small datasets.

1

blablanonymous t1_izj3040 wrote

Isn’t the simplest version of what I described essentially matrix factorization?

1

cantfindaname2take t1_izjow8q wrote

Theoretically yes, but it sounds like it requires more coding skills since you need to create the network structure by hand instead of relying on solutions that were specifically built for this. Don't get me wrong, there is nothing bad with what you described, but sounds to me OP needs a tool out of the box.

1