Book Image

Test Driven Machine Learning

Book Image

Test Driven Machine Learning

Overview of this book

Table of Contents (16 chapters)
Test-Driven Machine Learning
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
2
Perceptively Testing a Perceptron
Index

A bootstrapping bandit


Now, let's move to implement a simple approach that will use what we've been exploring. A bootstrapping bandit requires no math knowledge at all. It just requires us to sample from the data that we've encountered. Due to this simplicity, we can start from here. Let's start with the simplest test, as follows:

import rpm_bandit

def given_a_single_treatment_test():
  bandit = rpmbandit.RPMBandit(['A'])
  chosen_treatment = bandit.choose_treatment()
  assert chosen_treatment == 'A', 'Should choose the only available option.'

Okay, it's pretty standard at this point. The code that I've written to make this pass is also pretty standard now:

class RPMBandit:
  def __init__(self, treatments):
    self._treatments = treatments
  def choose_treatment(self):
    return self._treatments[0]

Next, let's say we have two treatments and neither of them have any data yet. Let's make sure to choose one. I'm totally fine with always choosing the first one:

def given_a_multiple_treatment_test...