You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by ss...@apache.org on 2011/01/14 10:00:04 UTC
svn commit: r1058901 -
/mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/item/RecommenderJobTest.java
Author: ssc
Date: Fri Jan 14 09:00:04 2011
New Revision: 1058901
URL: http://svn.apache.org/viewvc?rev=1058901&view=rev
Log:
Added check that users already preferred items are not recommended
Modified:
mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/item/RecommenderJobTest.java
Modified: mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/item/RecommenderJobTest.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/item/RecommenderJobTest.java?rev=1058901&r1=1058900&r2=1058901&view=diff
==============================================================================
--- mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/item/RecommenderJobTest.java (original)
+++ mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/hadoop/item/RecommenderJobTest.java Fri Jan 14 09:00:04 2011
@@ -687,7 +687,7 @@ public class RecommenderJobTest extends
* Prediction(cow, burger) = (0.25 * 5 + 0.5 * 3) / (0.25 + 0.5) ~ 3,7
* Prediction(cow, berries) = (0.33 * 5 + 0.25 * 3) / (0.33 + 0.25) ~ 4,1
* Prediction(donkey, hotdog) = (0.25 * 3 + 0.25 * 5) / (0.25 + 0.25) ~ 4
- * Prediction(donkey, berries) = (0.66 * 3 + 0.25 * 5) / (0.66 + 0.25) ~ 3,6
+ * Prediction(donkey, berries) = (0.66 * 3 + 0.25 * 5) / (0.66 + 0.25) ~ 3,5
*
* </pre>
*/
@@ -721,7 +721,7 @@ public class RecommenderJobTest extends
recommenderJob.setConf(conf);
recommenderJob.run(new String[] { "--tempDir", tmpDir.getAbsolutePath(), "--similarityClassname",
- DistributedTanimotoCoefficientVectorSimilarity.class.getName(), "--numRecommendations", "1" });
+ DistributedTanimotoCoefficientVectorSimilarity.class.getName(), "--numRecommendations", "4" });
Map<Long,List<RecommendedItem>> recommendations = readRecommendations(new File(outputDir, "part-r-00000"));
@@ -731,24 +731,33 @@ public class RecommenderJobTest extends
long userID = entry.getKey();
List<RecommendedItem> items = entry.getValue();
assertNotNull(items);
- assertEquals(1, items.size());
- RecommendedItem item = items.get(0);
+ RecommendedItem item1 = items.get(0);
if (userID == 1L) {
- assertEquals(4L, item.getItemID());
- assertEquals(4.3, item.getValue(), 0.05);
+ assertEquals(1, items.size());
+ assertEquals(4L, item1.getItemID());
+ assertEquals(4.3, item1.getValue(), 0.05);
}
if (userID == 2L) {
- assertEquals(2L, item.getItemID());
- assertEquals(3.3, item.getValue(), 0.05);
+ assertEquals(1, items.size());
+ assertEquals(2L, item1.getItemID());
+ assertEquals(3.3, item1.getValue(), 0.05);
}
if (userID == 3L) {
- assertEquals(3L, item.getItemID());
- assertEquals(4.1, item.getValue(), 0.05);
+ assertEquals(2, items.size());
+ assertEquals(3L, item1.getItemID());
+ assertEquals(4.1, item1.getValue(), 0.05);
+ RecommendedItem item2 = items.get(1);
+ assertEquals(1L, item2.getItemID());
+ assertEquals(3.7, item2.getValue(), 0.05);
}
if (userID == 4L) {
- assertEquals(2L, item.getItemID());
- assertEquals(4.0, item.getValue(), 0.05);
+ assertEquals(2, items.size());
+ assertEquals(2L, item1.getItemID());
+ assertEquals(4.0, item1.getValue(), 0.05);
+ RecommendedItem item2 = items.get(1);
+ assertEquals(3L, item2.getItemID());
+ assertEquals(3.5, item2.getValue(), 0.05);
}
}
}