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