ItemRecommender irec = rec.getItemRecommender(); DataAccessObject dao = rec.getDataAccessObject();
@SuppressWarnings("deprecation") @Test public void testItemItemRecommenderEngineCreate() { try (LenskitRecommender rec = engine.createRecommender(dao)) { assertThat(rec.getItemScorer(), instanceOf(ItemItemScorer.class)); assertThat(rec.getRatingPredictor(), instanceOf(SimpleRatingPredictor.class)); assertThat(rec.getItemRecommender(), instanceOf(TopNItemRecommender.class)); assertThat(rec.getItemBasedItemRecommender(), instanceOf(TopNItemBasedItemRecommender.class)); assertThat(rec.get(ItemBasedItemScorer.class), instanceOf(ItemItemItemBasedItemScorer.class)); } }
@SuppressWarnings("deprecation") @Test public void testItemItemRecommenderEngineCreate() { try (LenskitRecommender rec = engine.createRecommender()) { assertThat(rec.getItemScorer(), instanceOf(ItemItemScorer.class)); assertThat(rec.getRatingPredictor(), instanceOf(SimpleRatingPredictor.class)); assertThat(rec.getItemRecommender(), instanceOf(TopNItemRecommender.class)); assertThat(rec.getItemBasedItemRecommender(), instanceOf(TopNItemBasedItemRecommender.class)); assertThat(rec.get(ItemBasedItemScorer.class), instanceOf(ItemItemItemBasedItemScorer.class)); } }
@Test public void testRecommendWithMinCommonUsers3() { config.set(MinCommonUsers.class).to(3); session = LenskitRecommenderEngine.build(config, data).createRecommender(data); recommender = session.getItemRecommender(); List<Long> recs = recommender.recommend(2); assertThat(recs, hasSize(0)); }
/** * Tests {@code recommend(long, SparseVector)}. */ @Test public void testUserUserRecommender1() { ItemRecommender recommender = rec.getItemRecommender(); assert recommender != null; List<Long> recs = recommender.recommend(1); assertTrue(recs.isEmpty()); recs = recommender.recommend(2); assertThat(recs, containsInAnyOrder(9L)); recs = recommender.recommend(3); assertThat(recs, containsInAnyOrder(6L)); recs = recommender.recommend(4); assertThat(recs, containsInAnyOrder(9L)); recs = recommender.recommend(5); assertThat(recs, containsInAnyOrder(7L)); recs = recommender.recommend(6); assertThat(recs, containsInAnyOrder(6L, 7L)); }
@SuppressWarnings("deprecation") @Before public void setup() throws RecommenderBuildException { List<Rating> rs = new ArrayList<>(); rs.add(Rating.create(1, 6, 4)); rs.add(Rating.create(2, 6, 2)); rs.add(Rating.create(1, 7, 3)); rs.add(Rating.create(2, 7, 2)); rs.add(Rating.create(3, 7, 5)); rs.add(Rating.create(4, 7, 2)); rs.add(Rating.create(1, 8, 3)); rs.add(Rating.create(2, 8, 4)); rs.add(Rating.create(3, 8, 3)); rs.add(Rating.create(4, 8, 2)); rs.add(Rating.create(5, 8, 3)); rs.add(Rating.create(6, 8, 2)); rs.add(Rating.create(1, 9, 3)); rs.add(Rating.create(3, 9, 4)); data = StaticDataSource.fromList(rs).get(); config = new LenskitConfiguration(); config.bind(ItemScorer.class).to(ItemItemScorer.class); // this is the default config.bind(UserVectorNormalizer.class) .to(DefaultUserVectorNormalizer.class); config.bind(VectorNormalizer.class) .to(IdentityVectorNormalizer.class); LenskitRecommenderEngine engine = LenskitRecommenderEngine.build(config, data); session = engine.createRecommender(data); recommender = session.getItemRecommender(); }
ItemRecommender recommender = rec.getItemRecommender(); assert recommender != null; List<Long> recs = recommender.recommend(1, -1);
@Test public void testRecommendWithMinCommonUsers() { config.set(MinCommonUsers.class).to(1); session = LenskitRecommenderEngine.build(config, data).createRecommender(data); recommender = session.getItemRecommender(); List<Long> recs = recommender.recommend(1); assertThat(recs, hasSize(0)); recs = recommender.recommend(2); assertThat(recs, contains(9L)); }
@Test public void testItemItemRecommenderNonSymmetric() { config.bind(ItemSimilarity.class) .to(NonSymmetricSimilarity.class); session = LenskitRecommender.build(config, data); recommender = session.getItemRecommender(); List<Long> recs = recommender.recommend(1); assertThat(recs, hasSize(0)); recs = recommender.recommend(2); assertThat(recs, contains(9L)); recs = recommender.recommend(3); assertThat(recs, contains(6L)); recs = recommender.recommend(4); assertThat(recs, containsInAnyOrder(6L, 9L)); assertEquals(2, recs.size()); recs = recommender.recommend(5); assertThat(recs, containsInAnyOrder(6L, 7L, 9L)); recs = recommender.recommend(6); assertThat(recs, containsInAnyOrder(6L, 7L, 9L)); }
ItemRecommender recommender = rec.getItemRecommender(); assert recommender != null;
ItemRecommender recommender = rec.getItemRecommender(); assert recommender != null;
logger.info("obtained recommender from engine"); ItemRecommender irec = rec.getItemRecommender(); assert irec != null; // not null because we configured one
ItemScorer iscore = null; if (rec != null) { irec = rec.getItemRecommender(); iscore = rec.getItemScorer();