Skip to content

Conversation

@MaxHalford
Copy link
Member

@MaxHalford MaxHalford commented Oct 4, 2023

The goal of this PR is to clarify/improve how to do recsys with River. There's a tutorial called content-personalization.ipynb which should showcase these changes. The end-goal is to look a bit more like what Vowpal Wabbit does here. We are a bit different than VW in that we have more pure recsys models (I'm thinking about FunkMF and other stuff in the reco module) whilst less contextual bandit stuff (we have LinUCB but it's not very fast). I see a way forward to improve the reco module so that it can do recsys by itself, whilst also allowing the use of (contextual) bandit policies.

Here's a todo:

  • It’s not clear how to do recsys when using the reco module. We can rank items. We can then do sampling. But it’s not clear how to this in an optimal fashion. There needs to be some kind of exploration/exploitation tradeoff. How does Vowpal Wabbit do this?
  • Normally, the user@time_of_day trick should reach 100% CTR quite easily. But it isn’t Also, the scores are going haywire.
  • We have LinUCB implemented in the bandit module, which is a contextual bandit policy. We have to create a bandit policy wrapper in the reco module to make it usable in a recsys context.

There's a quite a lot of work to do, and I'm not sure I'll have time to finish. So I'll keep this PR in draft-mode, and we'll see what happens.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants