public void TestItemLoad() { DataModel model = CreateModel(); ItemCorrelation itemCorrelation = new PearsonCorrelation(model); var recommender = new CachingRecommender(new GenericItemBasedRecommender(model, itemCorrelation)); DoTestLoad(recommender, 60); }
public void TestSlopeOneLoad() { DataModel model = CreateModel(); Taste.Recommender.Recommender recommender = new CachingRecommender(new SlopeOneRecommender(model)); DoTestLoad(recommender, 30); }
public void TestUserLoad() { DataModel model = CreateModel(); UserCorrelation userCorrelation = new PearsonCorrelation(model); userCorrelation.PreferenceInferrer = new AveragingPreferenceInferrer(model); UserNeighborhood neighborhood = new NearestNUserNeighborhood(10, userCorrelation, model); var recommender = new CachingRecommender(new GenericUserBasedRecommender(model, neighborhood, userCorrelation)); DoTestLoad(recommender, 20); }
public void testRecommender() { var mockRecommender = new MockRecommender(0); IRecommender cachingRecommender = new CachingRecommender(mockRecommender); cachingRecommender.Recommend(1, 1); Assert.AreEqual(1, mockRecommender.recommendCount); cachingRecommender.Recommend(2, 1); Assert.AreEqual(2, mockRecommender.recommendCount); cachingRecommender.Recommend(1, 1); Assert.AreEqual(2, mockRecommender.recommendCount); cachingRecommender.Recommend(2, 1); Assert.AreEqual(2, mockRecommender.recommendCount); cachingRecommender.Refresh(null); cachingRecommender.Recommend(1, 1); Assert.AreEqual(3, mockRecommender.recommendCount); cachingRecommender.Recommend(2, 1); Assert.AreEqual(4, mockRecommender.recommendCount); cachingRecommender.Recommend(3, 1); Assert.AreEqual(5, mockRecommender.recommendCount); // Results from this recommend() method can be cached... IDRescorer rescorer = NullRescorer.getItemInstance(); cachingRecommender.Refresh(null); cachingRecommender.Recommend(1, 1, rescorer); Assert.AreEqual(6, mockRecommender.recommendCount); cachingRecommender.Recommend(2, 1, rescorer); Assert.AreEqual(7, mockRecommender.recommendCount); cachingRecommender.Recommend(1, 1, rescorer); Assert.AreEqual(7, mockRecommender.recommendCount); cachingRecommender.Recommend(2, 1, rescorer); Assert.AreEqual(7, mockRecommender.recommendCount); // until you switch Rescorers cachingRecommender.Recommend(1, 1, null); Assert.AreEqual(8, mockRecommender.recommendCount); cachingRecommender.Recommend(2, 1, null); Assert.AreEqual(9, mockRecommender.recommendCount); cachingRecommender.Refresh(null); cachingRecommender.EstimatePreference(1, 1); Assert.AreEqual(10, mockRecommender.recommendCount); cachingRecommender.EstimatePreference(1, 2); Assert.AreEqual(11, mockRecommender.recommendCount); cachingRecommender.EstimatePreference(1, 2); Assert.AreEqual(11, mockRecommender.recommendCount); }
public void TestRecommender() { AtomicInteger recommendCount = new AtomicInteger(); Recommender mockRecommender = new MockRecommender(recommendCount); Recommender cachingRecommender = new CachingRecommender(mockRecommender); cachingRecommender.Recommend("1", 1); Assert.AreEqual(1, recommendCount.Value); cachingRecommender.Recommend("2", 1); Assert.AreEqual(2, recommendCount.Value); cachingRecommender.Recommend("1", 1); Assert.AreEqual(2, recommendCount.Value); cachingRecommender.Recommend("2", 1); Assert.AreEqual(2, recommendCount.Value); cachingRecommender.Refresh(); cachingRecommender.Recommend("1", 1); Assert.AreEqual(3, recommendCount.Value); cachingRecommender.Recommend("2", 1); Assert.AreEqual(4, recommendCount.Value); cachingRecommender.Recommend("3", 1); Assert.AreEqual(5, recommendCount.Value); // Results from this recommend() method can't be cached: Rescorer <Item> rescorer = NullRescorer <Item> .Instance; cachingRecommender.Refresh(); cachingRecommender.Recommend("1", 1, rescorer); Assert.AreEqual(6, recommendCount.Value); cachingRecommender.Recommend("2", 1, rescorer); Assert.AreEqual(7, recommendCount.Value); cachingRecommender.Recommend("1", 1, rescorer); Assert.AreEqual(8, recommendCount.Value); cachingRecommender.Recommend("2", 1, rescorer); Assert.AreEqual(9, recommendCount.Value); cachingRecommender.Refresh(); cachingRecommender.EstimatePreference("test1", "1"); Assert.AreEqual(10, recommendCount.Value); cachingRecommender.EstimatePreference("test1", "2"); Assert.AreEqual(11, recommendCount.Value); cachingRecommender.EstimatePreference("test1", "2"); Assert.AreEqual(11, recommendCount.Value); }
public void TestRecommender() { AtomicInteger recommendCount = new AtomicInteger(); Recommender mockRecommender = new MockRecommender(recommendCount); Recommender cachingRecommender = new CachingRecommender(mockRecommender); cachingRecommender.Recommend("1", 1); Assert.AreEqual(1, recommendCount.Value); cachingRecommender.Recommend("2", 1); Assert.AreEqual(2, recommendCount.Value); cachingRecommender.Recommend("1", 1); Assert.AreEqual(2, recommendCount.Value); cachingRecommender.Recommend("2", 1); Assert.AreEqual(2, recommendCount.Value); cachingRecommender.Refresh(); cachingRecommender.Recommend("1", 1); Assert.AreEqual(3, recommendCount.Value); cachingRecommender.Recommend("2", 1); Assert.AreEqual(4, recommendCount.Value); cachingRecommender.Recommend("3", 1); Assert.AreEqual(5, recommendCount.Value); // Results from this recommend() method can't be cached: Rescorer<Item> rescorer = NullRescorer<Item>.Instance; cachingRecommender.Refresh(); cachingRecommender.Recommend("1", 1, rescorer); Assert.AreEqual(6, recommendCount.Value); cachingRecommender.Recommend("2", 1, rescorer); Assert.AreEqual(7, recommendCount.Value); cachingRecommender.Recommend("1", 1, rescorer); Assert.AreEqual(8, recommendCount.Value); cachingRecommender.Recommend("2", 1, rescorer); Assert.AreEqual(9, recommendCount.Value); cachingRecommender.Refresh(); cachingRecommender.EstimatePreference("test1", "1"); Assert.AreEqual(10, recommendCount.Value); cachingRecommender.EstimatePreference("test1", "2"); Assert.AreEqual(11, recommendCount.Value); cachingRecommender.EstimatePreference("test1", "2"); Assert.AreEqual(11, recommendCount.Value); }