List of usage examples for org.apache.mahout.cf.taste.impl.model PlusAnonymousUserDataModel TEMP_USER_ID
long TEMP_USER_ID
To view the source code for org.apache.mahout.cf.taste.impl.model PlusAnonymousUserDataModel TEMP_USER_ID.
Click Source Link
From source file:com.staticvillage.recommender.AnonymousRecommender.java
License:Apache License
public synchronized List<RecommendedItem> recommend(PreferenceArray prefs, int howMany) throws TasteException { model.setTempPrefs(prefs);//from w w w . j a va 2s . c o m List<RecommendedItem> recommendations = recommend(PlusAnonymousUserDataModel.TEMP_USER_ID, howMany, null); model.clearTempPrefs(); return recommendations; }
From source file:com.staticvillage.recommender.GroupRecommender.java
License:Apache License
public List<RecommendedItem> recommend(long[] placeIds, int top, GeoPoint geoPoint) throws TasteException, IndexerException { if (recommender == null) return null; List<Place> beans = indexer.getBeans(geoPoint); PreferenceBag preferenceBag = new PreferenceBag(); for (Place place : beans) { for (String feature : place.features) { preferenceBag.add(feature);//from ww w . j a v a2 s . c o m } } return recommender.recommend(preferenceBag.getWeightedPreferences(PlusAnonymousUserDataModel.TEMP_USER_ID), top); }
From source file:net.ufida.info.mahout.common.CachingRecommender.java
License:Apache License
@Override public List<RecommendedItem> recommend(long userID, int howMany, IDRescorer rescorer) throws TasteException { Preconditions.checkArgument(howMany >= 1, "howMany must be at least 1"); synchronized (maxHowMany) { if (howMany > maxHowMany[0]) { maxHowMany[0] = howMany;//w ww . j ava 2 s . c om } } // Special case, avoid caching an anonymous user if (userID == PlusAnonymousUserDataModel.TEMP_USER_ID) { return recommendationsRetriever.get(PlusAnonymousUserDataModel.TEMP_USER_ID).getItems(); } setCurrentRescorer(rescorer); Recommendations recommendations = recommendationCache.get(userID); if (recommendations.getItems().size() < howMany && !recommendations.isNoMoreRecommendableItems()) { clear(userID); recommendations = recommendationCache.get(userID); if (recommendations.getItems().size() < howMany) { recommendations.setNoMoreRecommendableItems(true); } } List<RecommendedItem> recommendedItems = recommendations.getItems(); return recommendedItems.size() > howMany ? recommendedItems.subList(0, howMany) : recommendedItems; }