Bases: object
The primary bandit interface. Don’t use this unless you really want uniform random arm selection (which defeats the whole purpose, really)
Used as a control to test against and as an interface to define methods against.
Bases: flask_mab.bandits.Bandit
Epsilon Greedy Bandit implementation. Aggressively favors the present winner.
Will assign winning arm 1.0 - epsilon of the time, uniform random between arms epsilon % of the time.
Will “exploit” the present winner more often with lower values of epsilon, “explore” other candidates more often with higher values of epsilon.
Parameters: | epsilon (float) – The percentage of the time to “explore” other arms, E.G a value of 0.1 will perform random assignment for %10 of traffic |
---|
Bases: flask_mab.bandits.Bandit
A naive weighted random Bandit. Favors the winner by giving it greater weight in random selection.
Winner will eventually flatten out the losers if margin is great enough