List of usage examples for org.apache.mahout.common LongPair LongPair
public LongPair(long first, long second)
From source file:net.myrrix.online.MostSimilarItemIterator.java
License:Apache License
@Override public RecommendedItem next() { FastByIDMap.MapEntry<float[]> entry = Yiterator.next(); long itemID = entry.getKey(); if (userTagIDs.contains(itemID)) { return null; }/*w w w.ja va 2s . c om*/ for (long l : toItemIDs) { if (l == itemID) { return null; } } Rescorer<LongPair> rescorer1 = this.rescorer; float[] candidateFeatures = entry.getValue(); double candidateFeaturesNorm = SimpleVectorMath.norm(candidateFeatures); double total = 0.0; int length = itemFeatures.length; for (int i = 0; i < length; i++) { long toItemID = toItemIDs[i]; LongPair cachedPair = null; if (rescorer1 != null) { cachedPair = new LongPair(itemID, toItemID); if (rescorer1.isFiltered(cachedPair)) { return null; } } double similarity = SimpleVectorMath.dot(candidateFeatures, itemFeatures[i]) / (candidateFeaturesNorm * itemFeatureNorms[i]); if (!LangUtils.isFinite(similarity)) { return null; } if (rescorer1 != null) { similarity = rescorer1.rescore(cachedPair, similarity); if (!LangUtils.isFinite(similarity)) { return null; } } total += similarity; } float result = (float) (total / length); Preconditions.checkState(LangUtils.isFinite(result), "Bad similarity value"); delegate.set(itemID, result); return delegate; }
From source file:net.myrrix.online.MultiRescorerProviderTest.java
License:Apache License
@Test public void testMultiMostSimilarItemsRescorer() { RescorerProvider multi = new MultiRescorerProvider(new SimpleModRescorerProvider(2), new SimpleModRescorerProvider(3)); Rescorer<LongPair> provider = multi.getMostSimilarItemsRescorer((MyrrixRecommender) null); assertNotNull(provider);/*from w ww.ja v a 2 s . c om*/ assertTrue(provider instanceof MultiLongPairRescorer); assertTrue(provider.isFiltered(new LongPair(2, 3))); assertTrue(provider.isFiltered(new LongPair(2, 6))); assertFalse(provider.isFiltered(new LongPair(6, 12))); }
From source file:net.ufida.info.mahout.common.CachingRecommender.java
License:Apache License
@Override public float estimatePreference(long userID, long itemID) throws TasteException { return estimatedPrefCache.get(new LongPair(userID, itemID)); }
From source file:org.gpfvic.mahout.cf.taste.impl.similarity.CachingItemSimilarity.java
License:Apache License
@Override public double itemSimilarity(long itemID1, long itemID2) throws TasteException { LongPair key = itemID1 < itemID2 ? new LongPair(itemID1, itemID2) : new LongPair(itemID2, itemID1); return similarityCache.get(key); }
From source file:org.gpfvic.mahout.cf.taste.impl.similarity.CachingUserSimilarity.java
License:Apache License
@Override public double userSimilarity(long userID1, long userID2) throws TasteException { LongPair key = userID1 < userID2 ? new LongPair(userID1, userID2) : new LongPair(userID2, userID1); return similarityCache.get(key); }