def test_bpr_predictions(): bpr = BPR(10, 100, 50) train_data = zip(randint(100, size=1000), randint(50, size=1000)) bpr.train(train_data, epochs=1) assert_equal(bpr.predictions(0).shape, (50,)) assert_equal(bpr.prediction(0,0), bpr.predictions(0)[0]) assert_equal(len(bpr.top_predictions(0, topn=20)), 20)
bpr.train(training_array[split3:], epochs=1) #bpr.train(training_array, epochs=4) print(" epoch", epoch, " took ", str(time.time() - runtime), "seconds to run..") print("testing") tester = Tester() prediction_batch = [] print("getting user predictions for testing") runtime = time.time() user_predictions = [] for user in users: user_predictions.append(bpr.top_predictions(user, topn=20)) print(" predictions found in", str(time.time() - runtime), "seconds") print(user_predictions[1]) print(user_predictions[100]) print(user_predictions[300]) print(user_predictions[600]) print(user_predictions[800]) print("calculating test scores") for i in range(len(x)): sequence_predictions = [] for j in range(sl[i]): sequence_predictions.append(user_predictions[i]) prediction_batch.append(sequence_predictions)