예제 #1
0
def test_from_provided():
    data_file = './tests/data.txt'
    data = Reader.read_uir_triplets(data_file)

    try:
        BaseMethod.from_provided(train_data=None, test_data=None)
    except ValueError:
        assert True

    try:
        BaseMethod.from_provided(train_data=data, test_data=None)
    except ValueError:
        assert True

    bm = BaseMethod.from_provided(train_data=data, test_data=data)

    assert bm.total_users == 10
    assert bm.total_items == 10
예제 #2
0
train_path = DownloadItem(
    url='http://files.grouplens.org/datasets/movielens/ml-100k/u1.base',
    relative_path='u1.base',
    sub_dir='datasets/ml_100k').download_if_needed(True)
test_path = DownloadItem(
    url='http://files.grouplens.org/datasets/movielens/ml-100k/u1.test',
    relative_path='u1.test',
    sub_dir='datasets/ml_100k').download_if_needed(True)

# Load data using Reader
train_data = Reader.read_uir_triplets(train_path)
test_data = Reader.read_uir_triplets(test_path)

# Construct base evaluation method with given data
eval_method = BaseMethod.from_provided(train_data=train_data,
                                       test_data=test_data,
                                       exclude_unknowns=False,
                                       verbose=True)

# Model
mf = cn.models.MF(k=10,
                  max_iter=25,
                  learning_rate=0.01,
                  lambda_reg=0.02,
                  use_bias=True,
                  early_stop=True,
                  verbose=True)

# Metrics
mae = cn.metrics.MAE()
rmse = cn.metrics.RMSE()