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); }
/// @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; }