List of usage examples for org.apache.mahout.cf.taste.impl.neighborhood CachingUserNeighborhood CachingUserNeighborhood
public CachingUserNeighborhood(UserNeighborhood neighborhood, DataModel dataModel) throws TasteException
From source file:norbert.mynemo.core.recommendation.recommender.UserSimilarityRecommender.java
License:Apache License
@Override public Recommender buildRecommender(DataModel dataModel) throws TasteException { UserSimilarity currentSimilarity;/*from www . jav a 2 s . c o m*/ if (!configuration.allowCachedSimilarityReuse()) { // create a new similarity each time currentSimilarity = createSimilarity(dataModel); } else { if (cachedSimilarity == null) { // lazy initialization cachedSimilarity = createSimilarity(configuration.getDataModel()); } currentSimilarity = cachedSimilarity; } UserNeighborhood neighborhood = new NearestNUserNeighborhood(configuration.getNeighborNumber(), currentSimilarity, dataModel); neighborhood = new CachingUserNeighborhood(neighborhood, dataModel); return new GenericUserBasedRecommender(dataModel, neighborhood, currentSimilarity); }
From source file:org.zaizi.mahout.config.ClassNameNeighborHoodConfiguration.java
License:Open Source License
public UserNeighborhood getNeighborhood(DataModel dataModel, UserSimilarity userSimilarity) throws TasteException { UserNeighborhood neighborhood = null; if (ThresholdUserNeighborhood.class.getName().equals(neighborHoodClassName)) { if (samplingRate > 0d) { neighborhood = new ThresholdUserNeighborhood(threshold, userSimilarity, dataModel, samplingRate); } else {/* w w w . j ava2 s . c o m*/ neighborhood = new ThresholdUserNeighborhood(threshold, userSimilarity, dataModel); } } else { if (samplingRate > 0d) { neighborhood = new NearestNUserNeighborhood(neighborhoodSize, minSimilarity, userSimilarity, dataModel, samplingRate); } else { neighborhood = new NearestNUserNeighborhood(neighborhoodSize, minSimilarity, userSimilarity, dataModel); } } return new CachingUserNeighborhood(neighborhood, dataModel); }