public void testMostSimilarToMultipleExcludeIfNotSimilarToAll()
        {
            IItemBasedRecommender   recommender = buildRecommender2();
            List <IRecommendedItem> similar     = recommender.MostSimilarItems(new long[] { 3, 4 }, 2);

            Assert.NotNull(similar);
            Assert.AreEqual(1, similar.Count);
            IRecommendedItem first = similar[0];

            Assert.AreEqual(0, first.GetItemID());
            Assert.AreEqual(0.2f, first.GetValue(), EPSILON);
        }
        public void testMostSimilarToMultipleDontExcludeIfNotSimilarToAll()
        {
            IItemBasedRecommender   recommender = buildRecommender2();
            List <IRecommendedItem> similar     = recommender.MostSimilarItems(new long[] { 1, 2, 4 }, 10, false);

            Assert.NotNull(similar);
            Assert.AreEqual(2, similar.Count);
            IRecommendedItem first  = similar[0];
            IRecommendedItem second = similar[1];

            Assert.AreEqual(0, first.GetItemID());
            Assert.AreEqual(0.933333333f, first.GetValue(), EPSILON);
            Assert.AreEqual(3, second.GetItemID());
            Assert.AreEqual(-0.2f, second.GetValue(), EPSILON);
        }
        public void testMostSimilarToMultiple()
        {
            IItemBasedRecommender   recommender = buildRecommender2();
            List <IRecommendedItem> similar     = recommender.MostSimilarItems(new long[] { 0, 1 }, 2);

            Assert.NotNull(similar);
            Assert.AreEqual(2, similar.Count);
            IRecommendedItem first  = similar[0];
            IRecommendedItem second = similar[1];

            Assert.AreEqual(2, first.GetItemID());
            Assert.AreEqual(0.85f, first.GetValue(), EPSILON);
            Assert.AreEqual(3, second.GetItemID());
            Assert.AreEqual(-0.3f, second.GetValue(), EPSILON);
        }
        public void testMostSimilar()
        {
            IItemBasedRecommender   recommender = buildRecommender();
            List <IRecommendedItem> similar     = recommender.MostSimilarItems(0, 2);

            Assert.NotNull(similar);
            Assert.AreEqual(2, similar.Count);
            IRecommendedItem first  = similar[0];
            IRecommendedItem second = similar[1];

            Assert.AreEqual(1, first.GetItemID());
            Assert.AreEqual(1.0f, first.GetValue(), EPSILON);
            Assert.AreEqual(2, second.GetItemID());
            Assert.AreEqual(0.5f, second.GetValue(), EPSILON);
        }
        public void testRecommendedBecause()
        {
            IItemBasedRecommender   recommender        = buildRecommender2();
            List <IRecommendedItem> recommendedBecause = recommender.RecommendedBecause(1, 4, 3);

            Assert.NotNull(recommendedBecause);
            Assert.AreEqual(3, recommendedBecause.Count);
            IRecommendedItem first  = recommendedBecause[0];
            IRecommendedItem second = recommendedBecause[1];
            IRecommendedItem third  = recommendedBecause[2];

            Assert.AreEqual(2, first.GetItemID());
            Assert.AreEqual(0.99f, first.GetValue(), EPSILON);
            Assert.AreEqual(3, second.GetItemID());
            Assert.AreEqual(0.4f, second.GetValue(), EPSILON);
            Assert.AreEqual(0, third.GetItemID());
            Assert.AreEqual(0.2f, third.GetValue(), EPSILON);
        }
Пример #6
0
 /// @param recommender recommender to use
 /// @param similarItemsPerItem number of similar items to compute per item
 protected BatchItemSimilarities(IItemBasedRecommender recommender, int similarItemsPerItem)
 {
     this.recommender         = recommender;
     this.similarItemsPerItem = similarItemsPerItem;
 }
  /// @param recommender recommender to use
  /// @param similarItemsPerItem number of similar items to compute per item
 protected BatchItemSimilarities(IItemBasedRecommender recommender, int similarItemsPerItem) {
   this.recommender = recommender;
   this.similarItemsPerItem = similarItemsPerItem;
 }