本文整理汇总了Java中org.apache.mahout.cf.taste.recommender.IDRescorer类的典型用法代码示例。如果您正苦于以下问题:Java IDRescorer类的具体用法?Java IDRescorer怎么用?Java IDRescorer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IDRescorer类属于org.apache.mahout.cf.taste.recommender包,在下文中一共展示了IDRescorer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: next
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public RecommendedItem next() {
FastByIDFloatMap.MapEntry entry = countsIterator.next();
long id = entry.getKey();
float value = entry.getValue();
IDRescorer theRescorer = rescorer;
if (theRescorer != null) {
if (theRescorer.isFiltered(id)) {
return null;
}
value = (float) theRescorer.rescore(id, value);
if (!LangUtils.isFinite(value)) {
return null;
}
}
delegate.set(id, value);
return delegate;
}
示例2: testMultiRecommendRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Test
public void testMultiRecommendRescorer() {
RescorerProvider multi =
new MultiRescorerProvider(new SimpleModRescorerProvider(2), new SimpleModRescorerProvider(3));
IDRescorer provider = multi.getRecommendRescorer(new long[]{5}, (MyrrixRecommender) null);
assertNull(provider);
provider = multi.getRecommendRescorer(new long[]{2}, (MyrrixRecommender) null);
assertNotNull(provider);
assertFalse(provider instanceof MultiRescorer);
assertTrue(provider.isFiltered(3));
assertFalse(provider.isFiltered(2));
provider = multi.getRecommendRescorer(new long[]{6}, (MyrrixRecommender) null);
assertNotNull(provider);
assertTrue(provider instanceof MultiRescorer);
assertTrue(provider.isFiltered(3));
assertTrue(provider.isFiltered(2));
assertFalse(provider.isFiltered(12));
}
示例3: testMultiRecommendToAnonymousRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Test
public void testMultiRecommendToAnonymousRescorer() {
RescorerProvider multi =
new MultiRescorerProvider(new SimpleModRescorerProvider(2), new SimpleModRescorerProvider(3));
IDRescorer provider = multi.getRecommendToAnonymousRescorer(new long[]{5}, (MyrrixRecommender) null);
assertNull(provider);
provider = multi.getRecommendToAnonymousRescorer(new long[]{2}, (MyrrixRecommender) null);
assertNotNull(provider);
assertFalse(provider instanceof MultiRescorer);
assertTrue(provider.isFiltered(3));
assertFalse(provider.isFiltered(2));
provider = multi.getRecommendToAnonymousRescorer(new long[]{6}, (MyrrixRecommender) null);
assertNotNull(provider);
assertTrue(provider instanceof MultiRescorer);
assertTrue(provider.isFiltered(3));
assertTrue(provider.isFiltered(2));
assertFalse(provider.isFiltered(12));
}
示例4: doGet
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
MyrrixRecommender recommender = getRecommender();
RescorerProvider rescorerProvider = getRescorerProvider();
try {
IDRescorer rescorer = rescorerProvider == null ? null :
rescorerProvider.getMostPopularItemsRescorer(recommender, getRescorerParams(request));
output(request, response, recommender.mostPopularItems(getHowMany(request), rescorer));
} catch (NotReadyException nre) {
response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, nre.toString());
} catch (TasteException te) {
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, te.toString());
getServletContext().log("Unexpected error in " + getClass().getSimpleName(), te);
} catch (IllegalArgumentException iae) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST, iae.toString());
}
}
示例5: itemBased
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
public static ItemBasedRecommender itemBased() throws Exception {
// Load the data
StringItemIdFileDataModel dataModel = loadFromFile("data/BX-Book-Ratings.csv", ";");
// Collection<GenericItemSimilarity.ItemItemSimilarity> correlations =
// null;
// ItemItemSimilarity iis = new ItemItemSimilarity(0, 0, 0);
// ItemSimilarity itemSimilarity = new
// GenericItemSimilarity(correlations);
ItemSimilarity itemSimilarity = new PearsonCorrelationSimilarity(dataModel);
ItemBasedRecommender recommender = new GenericItemBasedRecommender(
dataModel, itemSimilarity);
IDRescorer rescorer = new MyRescorer();
// List recommendations = recommender.recommend(2, 3, rescorer);
String itemISBN = "042513976X";
long itemID = dataModel.readItemIDFromString(itemISBN);
int noItems = 10;
System.out.println("Recommendations for item: " + books.get(itemISBN));
System.out.println("\nMost similar items:");
List<RecommendedItem> recommendations = recommender.mostSimilarItems(
itemID, noItems);
for (RecommendedItem item : recommendations) {
itemISBN = dataModel.getItemIDAsString(item.getItemID());
System.out.println("Item: " + books.get(itemISBN) + " | Item id: "
+ itemISBN + " | Value: " + item.getValue());
}
return recommender;
}
开发者ID:PacktPublishing,项目名称:Machine-Learning-End-to-Endguide-for-Java-developers,代码行数:35,代码来源:BookRecommender.java
示例6: getRecommendRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public IDRescorer getRecommendRescorer(long[] userIDs, MyrrixRecommender recommender, String... args) {
if (args == null || args.length == 0) {
return null;
}
long toItemID = Long.parseLong(args[0]);
return new SimilarToItemRescorer(toItemID, recommender);
}
示例7: recommendToAnonymous
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public List<RecommendedItem> recommendToAnonymous(long[] itemIDs,
float[] values,
int howMany,
IDRescorer rescorer)
throws NotReadyException, NoSuchItemException {
Preconditions.checkArgument(howMany > 0, "howMany must be positive");
float[] anonymousUserFeatures = buildAnonymousUserFeatures(itemIDs, values);
FastIDSet userKnownItemIDs = new FastIDSet(itemIDs.length);
for (long itemID : itemIDs) {
userKnownItemIDs.add(itemID);
}
float[][] anonymousFeaturesAsArray = { anonymousUserFeatures };
Generation generation = getCurrentGeneration();
Lock yLock = generation.getYLock().readLock();
yLock.lock();
try {
return multithreadedTopN(anonymousFeaturesAsArray,
userKnownItemIDs,
generation.getUserTagIDs(),
rescorer,
howMany,
generation.getCandidateFilter());
} finally {
yLock.unlock();
}
}
示例8: RecommendIterator
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
RecommendIterator(float[][] features,
Iterator<FastByIDMap.MapEntry<float[]>> Yiterator,
FastIDSet knownItemIDs,
FastIDSet userTagIDs,
IDRescorer rescorer) {
Preconditions.checkArgument(features.length > 0, "features must not be empty");
delegate = new MutableRecommendedItem();
this.features = features;
this.Yiterator = Yiterator;
this.knownItemIDs = knownItemIDs;
this.userTagIDs = userTagIDs;
this.rescorer = rescorer;
}
示例9: rescore
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public double rescore(long itemID, double value) {
for (IDRescorer rescorer : rescorers) {
value = rescorer.rescore(itemID, value);
if (Double.isNaN(value)) {
return Double.NaN;
}
}
return value;
}
示例10: isFiltered
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public boolean isFiltered(long itemID) {
for (IDRescorer rescorer : rescorers) {
if (rescorer.isFiltered(itemID)) {
return true;
}
}
return false;
}
示例11: getRecommendRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public IDRescorer getRecommendRescorer(long[] userIDs, MyrrixRecommender recommender, String... args) {
List<IDRescorer> rescorers = Lists.newArrayListWithCapacity(providers.length);
for (RescorerProvider provider : providers) {
IDRescorer rescorer = provider.getRecommendRescorer(userIDs, recommender, args);
if (rescorer != null) {
rescorers.add(rescorer);
}
}
return buildRescorer(rescorers);
}
示例12: getRecommendToAnonymousRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public IDRescorer getRecommendToAnonymousRescorer(long[] itemIDs, MyrrixRecommender recommender, String... args) {
List<IDRescorer> rescorers = Lists.newArrayListWithCapacity(providers.length);
for (RescorerProvider provider : providers) {
IDRescorer rescorer = provider.getRecommendToAnonymousRescorer(itemIDs, recommender, args);
if (rescorer != null) {
rescorers.add(rescorer);
}
}
return buildRescorer(rescorers);
}
示例13: getMostPopularItemsRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Override
public IDRescorer getMostPopularItemsRescorer(MyrrixRecommender recommender, String... args) {
List<IDRescorer> rescorers = Lists.newArrayListWithCapacity(providers.length);
for (RescorerProvider provider : providers) {
IDRescorer rescorer = provider.getMostPopularItemsRescorer(recommender, args);
if (rescorer != null) {
rescorers.add(rescorer);
}
}
return buildRescorer(rescorers);
}
示例14: buildRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
private static IDRescorer buildRescorer(List<IDRescorer> rescorers) {
int numRescorers = rescorers.size();
if (numRescorers == 0) {
return null;
}
if (numRescorers == 1) {
return rescorers.get(0);
}
return new MultiRescorer(rescorers);
}
示例15: testMultiMostPopularItemsRescorer
import org.apache.mahout.cf.taste.recommender.IDRescorer; //导入依赖的package包/类
@Test
public void testMultiMostPopularItemsRescorer() {
RescorerProvider multi =
new MultiRescorerProvider(new SimpleModRescorerProvider(2), new SimpleModRescorerProvider(3));
IDRescorer provider = multi.getMostPopularItemsRescorer(null);
assertNotNull(provider);
assertTrue(provider instanceof MultiRescorer);
assertTrue(provider.isFiltered(3));
assertTrue(provider.isFiltered(2));
assertFalse(provider.isFiltered(6));
}