Starting from scratch

To begin with, let's start building an extremely simplistic bandit algorithm. The actual bandit class will have two methods: choose_treatment and log_payout. The first method will recommend the best treatment to choose, and log_payout will be used to report back on how effective the recommended treatment was.

The simplest way to approach this algorithm from a test-driven perspective is to start with a single treatment so that the algorithm only has one thing to recommend. The code for this test looks like the following:

from nose.tools import assert_equal import simple_bandit def given_a_single_treatment_test(): bandit = simple_bandit.SimpleBandit(['A']) chosen_treatment = bandit.choose_treatment() assert_equal(chosen_treatment, ...

Get Test-Driven Machine Learning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.