def setUp(self):
     db = 'data/tester.db'
     self.conn = sqlite3.connect(db)
     self.c = self.conn.cursor()
     self.c.execute('SELECT articleID FROM article')
     self.n = 10000
     arms = [arm[0] for arm in self.c.fetchall()]
     policies = [UCB(arms), IndexedUCB(arms, range(2, 7)), KLUCB(arms),
                 Thompson(arms), Oblivious(arms), EpsilonGreedy(arms),
                 EpsilonGreedy(arms, .05), LinUCB(arms)]
     self.MAB = RejectionMAB(db, self.n, range(2, 7),
                             arms, policies)
Пример #2
0
conn = sqlite3.connect(db)
c = conn.cursor()
c.execute('SELECT articleID FROM article')
arms = [arm[0] for arm in c.fetchall()]
policies = [
    UCB(arms),
    IndexedUCB(arms, range(2, 7)),
    KLUCB(arms),
    Thompson(arms),
    Oblivious(arms),
    EpsilonGreedy(arms),
    EpsilonGreedy(arms, .2)
]

conn.close()

n = 1000000

t0 = time.time()
MAB = RejectionMAB(db, n, range(2, 7), arms, policies)
MAB.run()
MAB.output_decisions('results4.gz')
print MAB.total_pulls
t1 = time.time()

the_time = str(datetime.timedelta(seconds=t1 - t0))
print('Now: {}'.format(time.time()))
print('Took a total of {}'.format(the_time))
print('Number of pulls required to reach {} was {}'.format(n, MAB.total_pulls))