0

I have a list of orders, which contains a list of items.

I need to use machine learning to suggest other items to customers based purely on their basket at the time of checkout, considering the history of orders placed.

Ideally it must be done with ML.NET.

I have tried a few variations of matrix factorisation but to predict more items for a customer, the starting basket must be in the training set. I can't retrain every time a order is placed, that would take a long time.

Am I going about this the wrong way? Are there different techniques that would work better or have I missed something from matrix factorisation?

Many thanks

Josh Hales
  • 101
  • 2

1 Answers1

0

Let's say a user have a past basket such item1, item2, item3. Your train set should have the following (X, Y) subsets, being Y a predicted subset:

  • X=(item1), Y=(item2, item3)
  • X=(item2), Y=(item1, item3)
  • X=(item3), Y=(item1, item2)
  • X=(item1, item2), Y=(item3)
  • X=(item2, item3), Y=(item1)
  • X=(item1, item3), Y=(item2)

have you done this? With this technique you should not need to retrain that many often. Also for recommender systems it is always better to have at least a content recommender and a "popular/frequent" recommender, than make an hybrid one with the two previous.

Memristor
  • 274
  • 1
  • 7