コード例 #1
0
ファイル: LoadTest.cs プロジェクト: ccollie/taste.net
	    public void TestItemLoad() 
	    {
		    DataModel model = CreateModel();
            ItemCorrelation itemCorrelation = new PearsonCorrelation(model);
            var recommender = new CachingRecommender(new GenericItemBasedRecommender(model, itemCorrelation));
		    DoTestLoad(recommender, 60);
	    }
コード例 #2
0
        public void TestSlopeOneLoad()
        {
            DataModel model = CreateModel();

            Taste.Recommender.Recommender recommender = new CachingRecommender(new SlopeOneRecommender(model));
            DoTestLoad(recommender, 30);
        }
コード例 #3
0
        public void TestItemLoad()
        {
            DataModel       model           = CreateModel();
            ItemCorrelation itemCorrelation = new PearsonCorrelation(model);
            var             recommender     = new CachingRecommender(new GenericItemBasedRecommender(model, itemCorrelation));

            DoTestLoad(recommender, 60);
        }
コード例 #4
0
ファイル: LoadTest.cs プロジェクト: ccollie/taste.net
	    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);
	    }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
ファイル: LoadTest.cs プロジェクト: ccollie/taste.net
	    public void TestSlopeOneLoad() 
	    {
		    DataModel model = CreateModel();
		    Taste.Recommender.Recommender recommender = new CachingRecommender(new SlopeOneRecommender(model));
		    DoTestLoad(recommender, 30);
	    }