25 lines
669 B
Python
25 lines
669 B
Python
import pytest
|
|
|
|
from pygrex.config import cfg
|
|
from pygrex.data_reader.data_reader import DataReader
|
|
from pygrex.models.als_model import ALS
|
|
from pygrex.recommender import Recommender
|
|
|
|
|
|
@pytest.fixture
|
|
def setup_data():
|
|
als = ALS(**cfg.model.als)
|
|
data = DataReader(**cfg.data.testdata)
|
|
data.make_consecutive_ids_in_dataset()
|
|
data.binarize()
|
|
als.fit(data)
|
|
return als, data
|
|
|
|
|
|
def test_train_recommend_als(setup_data):
|
|
als, data = setup_data
|
|
recommender = Recommender(data, als)
|
|
max_valid = als.model.item_factors.shape[0]
|
|
item_pool = list(range(min(max_valid, 50)))
|
|
_ = recommender.recommend(user_id=0, target_item_id=item_pool)
|