GithubHelp home page GithubHelp logo

Comments (2)

david-cortes avatar david-cortes commented on July 19, 2024

I'm not sure if I understand it correctly.

From what I get, you have a situation in which you have user features + item features and you observe both, and at each turn you make a recommendation for a different user and each potential recommendation has a continuous score, which is not the kind of scenario that this library deals with.

If the item embeddings are supposed to be invisible / not available to the algorithm and there is a threshold on the obtained scores to make them binary (reward vs. no reward), then it would sound like the kind of problem for this library, for which you could treat the items as arms (you'll need to enumerate them) and the user vector as features (you'll need to convert them to a matrix with 1 row, and pass it as numpy array)

But be aware that (a) this software by default will switch to non-contextual MAB when the number of seen data points is small, so if you explicitly want to make it contextual while running for only a few rounds, you'll have to check the specific parameters that you are using, (b) if you know the specific reward-generating function and the algorithm is supposed to be aware of this point, you might want to select a classifier and its hyperparameters accordingly instead of following the example notebooks.

from contextualbandits.

qathom avatar qathom commented on July 19, 2024

Thanks for your prompt reply @david-cortes, I really appreciate your message!
The simulation is for 1 user (user_embeddings). The turns are a conversation simulation where the user gives his/her preferences step by step (comments in lines 83+).

Indeed, the current gist returns a continuous value between 0 and 1 where 1 means 100% match between user preferences and item features but I can maybe try to define a threshold to return 1 or 0 (reward/no reward).

I think contextual MAB makes sense for my project (a chatbot asks questions about user preferences) because the idea is to use a hybrid approach when it comes to recommend items (user-item and item-item filtering). The Gist tries to illustrate both concepts.
An idea: the goal of the algo is to find the best "end result" based on the maximization of 2 reward functions (user-item and item-item).

from contextualbandits.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.