Exemple #1
0
 def test_unnormalized(self):
    u = 3712
    expected = [(641,5.000), (603,4.856), (105,4.739)]
    R = user_based_knn(self.model, 5, [self.data.new_user_idx(u)], range(self.data.num_items()), 
             pearson, promote_users = False)
    recs = top_ns([R],3, keep_order = True)
    self.assertTrue(','.join(['%d,%.3f' % (self.data.old_item_idx(a),b) for (a,b) in recs[0]]) == 
                    ','.join(['%d,%.3f' % a for a in expected]))
Exemple #2
0
 def test(self):
     n = 5
     input = np.matrix([10, 1, 9, 2, 8, 3, 7, 4, 6, 5])
     output = np.array([(0, 10), (2, 9), (4, 8), (6, 7), (8, 6)])
     self.assertTrue(np.array_equal(top_n(input, n), output))
     self.assertTrue(
         np.array_equal(top_ns([
             input,
         ] * 3, n), [
             output,
         ] * 3))
Exemple #3
0
 def test_unnormalized(self):
     u = 3712
     expected = [(641, 5.000), (603, 4.856), (105, 4.739)]
     R = user_based_knn(self.model,
                        5, [self.data.new_user_idx(u)],
                        range(self.data.num_items()),
                        pearson,
                        promote_users=False)
     recs = top_ns([R], 3, keep_order=True)
     self.assertTrue(','.join(
         ['%d,%.3f' % (self.data.old_item_idx(a), b) for (
             a,
             b) in recs[0]]) == ','.join(['%d,%.3f' % a for a in expected]))
Exemple #4
0
n = 3
part_1_file = "part_1.csv"
part_2_file = "part_2.csv"

# part 1

data = DataIO()
data.load(ratings_file)
model = UserModel(normalize=False)
model.build(data)

given_users = data.translate_users(given_users)
given_items = range(data.num_items())

R = user_based_knn(model, NN, given_users, given_items, pearson, promote_users=False)
recs = top_ns(R, n, keep_order=True)

file = open(part_1_file, "w")
file.write("\n".join(["%d %.3f" % (data.old_item_idx(i), s) for u in recs for (i, s) in u]))
file.close()

# part 2

R = user_based_knn(
    model, NN, given_users, given_items, pearson, promote_users=False, exclude_seen=False, normalize=True
)
recs = top_ns(R, n, keep_order=True)

file = open(part_2_file, "w")
file.write("\n".join(["%d %.3f" % (data.old_item_idx(i), s) for u in recs for (i, s) in u]))
file.close()
Exemple #5
0
 def test(self):
     n = 5
     input = np.matrix([10,1,9,2,8,3,7,4,6,5])
     output = np.array([(0,10),(2,9),(4,8),(6,7),(8,6)])
     self.assertTrue(np.array_equal(top_n(input, n), output))
     self.assertTrue(np.array_equal(top_ns([input,]*3, n), [output,]*3))
Exemple #6
0
data = DataIO()
data.load(ratings_file)
model = UserModel(normalize=False)
model.build(data)

given_users = data.translate_users(given_users)
given_items = range(data.num_items())

R = user_based_knn(model,
                   NN,
                   given_users,
                   given_items,
                   pearson,
                   promote_users=False)
recs = top_ns(R, n, keep_order=True)

file = open(part_1_file, 'w')
file.write('\n'.join(
    ['%d %.3f' % (data.old_item_idx(i), s) for u in recs for (i, s) in u]))
file.close()

# part 2

R = user_based_knn(model,
                   NN,
                   given_users,
                   given_items,
                   pearson,
                   promote_users=False,
                   exclude_seen=False,