Ejemplo n.º 1
0
def test_trainset():
    """Test TrainSet"""
    uid_map = OrderedDict([('a', 0), ('b', 1)])
    iid_map = OrderedDict([('x', 0), ('y', 1), ('z', 2)])

    train_set = TrainSet(uid_map, iid_map)

    assert train_set.num_users == 2
    assert train_set.num_items == 3

    assert train_set.is_unk_user(1) == False
    assert train_set.is_unk_user(2) == True

    assert train_set.is_unk_item(2) == False
    assert train_set.is_unk_item(4) == True

    assert train_set.get_uid('b') == 1
    assert train_set.get_iid('y') == 1

    assert all([a == b for a, b in zip(train_set.get_uid_list(), [0, 1])])
    assert all(
        [a == b for a, b in zip(train_set.get_raw_uid_list(), ['a', 'b'])])

    assert all([a == b for a, b in zip(train_set.get_iid_list(), [0, 1, 2])])
    assert all([
        a == b for a, b in zip(train_set.get_raw_iid_list(), ['x', 'y', 'z'])
    ])
Ejemplo n.º 2
0
def test_trainset_idx_iter():
    ids = [
        batch_ids for batch_ids in TrainSet.idx_iter(
            idx_range=10, batch_size=1, shuffle=False)
    ]
    assert all([a == b for a, b in zip(ids, range(10))])

    ids = [
        batch_ids for batch_ids in TrainSet.idx_iter(
            idx_range=10, batch_size=1, shuffle=True)
    ]
    assert np.any([a != b for a, b in zip(ids, range(10))])
Ejemplo n.º 3
0
    def test_idx_iter(self):
        ids = [
            batch_ids for batch_ids in TrainSet.idx_iter(
                idx_range=10, batch_size=1, shuffle=False)
        ]
        npt.assert_array_equal(ids, np.arange(10).reshape(10, 1))

        ids = [
            batch_ids for batch_ids in TrainSet.idx_iter(
                idx_range=10, batch_size=1, shuffle=True)
        ]
        npt.assert_raises(AssertionError, npt.assert_array_equal, ids,
                          np.arange(10).reshape(10, 1))
Ejemplo n.º 4
0
 def test_testset_none(self):
     bm = BaseMethod(None, verbose=True)
     bm.train_set = TrainSet(None, None)
     try:
         bm.evaluate(None, {}, False)
     except ValueError:
         assert True
Ejemplo n.º 5
0
def test_testset_none():
    from cornac.data import TrainSet

    bm = BaseMethod(None, verbose=True)
    bm.train_set = TrainSet(None, None)

    try:
        bm.evaluate(None, {}, False)
    except ValueError:
        assert True
Ejemplo n.º 6
0
    def test_init(self):
        uid_map = OrderedDict([('a', 0), ('b', 1)])
        iid_map = OrderedDict([('x', 0), ('y', 1), ('z', 2)])

        train_set = TrainSet(uid_map, iid_map)

        self.assertEqual(train_set.num_users, 2)
        self.assertEqual(train_set.num_items, 3)

        self.assertTrue(train_set.is_unk_user(2))
        self.assertFalse(train_set.is_unk_user(1))

        self.assertTrue(train_set.is_unk_item(4))
        self.assertFalse(train_set.is_unk_item(2))

        self.assertEqual(train_set.get_uid('b'), 1)
        self.assertEqual(train_set.get_iid('y'), 1)

        self.assertListEqual(train_set.uid_list, list(uid_map.values()))
        self.assertListEqual(train_set.raw_uid_list, list(uid_map.keys()))

        self.assertListEqual(train_set.iid_list, list(iid_map.values()))
        self.assertListEqual(train_set.raw_iid_list, list(iid_map.keys()))