Author: srowen
Date: Sat Nov 12 11:42:09 2011
New Revision: 1201248

URL: http://svn.apache.org/viewvc?rev=1201248&view=rev
Log:
MAHOUT-882 Actually used rescored value in one TopItems method. Also, fix 
SimilarUser issue along the way from MAHOUT-881

Modified:
    
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/SimilarUser.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/TopItems.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/impl/recommender/GenericUserBasedRecommenderTest.java

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/SimilarUser.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/SimilarUser.java?rev=1201248&r1=1201247&r2=1201248&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/SimilarUser.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/SimilarUser.java
 Sat Nov 12 11:42:09 2011
@@ -61,7 +61,20 @@ public final class SimilarUser implement
   @Override
   public int compareTo(SimilarUser other) {
     double otherSimilarity = other.getSimilarity();
-    return similarity > otherSimilarity ? -1 : similarity < otherSimilarity ? 
1 : 0;
+    if (similarity > otherSimilarity) {
+      return -1;
+    }
+    if (similarity < otherSimilarity) {
+      return 1;
+    }
+    long otherUserID = other.getUserID();
+    if (userID < otherUserID) {
+      return -1;
+    }
+    if (userID > otherUserID) {
+      return 1;
+    }
+    return 0;
   }
   
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/TopItems.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/TopItems.java?rev=1201248&r1=1201247&r2=1201248&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/TopItems.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/recommender/TopItems.java
 Sat Nov 12 11:42:09 2011
@@ -109,7 +109,7 @@ public final class TopItems {
       }
       double rescoredSimilarity = rescorer == null ? similarity : 
rescorer.rescore(userID, similarity);
       if (!Double.isNaN(rescoredSimilarity) && (!full || rescoredSimilarity > 
lowestTopValue)) {
-        topUsers.add(new SimilarUser(userID, similarity));
+        topUsers.add(new SimilarUser(userID, rescoredSimilarity));
         if (full) {
           topUsers.poll();
         } else if (topUsers.size() > howMany) {

Modified: 
mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/impl/recommender/GenericUserBasedRecommenderTest.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/impl/recommender/GenericUserBasedRecommenderTest.java?rev=1201248&r1=1201247&r2=1201248&view=diff
==============================================================================
--- 
mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/impl/recommender/GenericUserBasedRecommenderTest.java
 (original)
+++ 
mahout/trunk/core/src/test/java/org/apache/mahout/cf/taste/impl/recommender/GenericUserBasedRecommenderTest.java
 Sat Nov 12 11:42:09 2011
@@ -121,7 +121,7 @@ public final class GenericUserBasedRecom
     assertNotNull(similar);
     assertEquals(2, similar.length);
     assertEquals(2, similar[0]);
-    assertEquals(4, similar[1]);
+    assertEquals(3, similar[1]);
   }
 
   @Test


Reply via email to