当前位置: 首页>>代码示例>>Java>>正文


Java IDRescorer类代码示例

本文整理汇总了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;
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:19,代码来源:MostPopularItemsIterator.java

示例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));
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:22,代码来源:MultiRescorerProviderTest.java

示例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));
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:22,代码来源:MultiRescorerProviderTest.java

示例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());
  }
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:18,代码来源:MostPopularItemsServlet.java

示例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);
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:9,代码来源:SimilarToItemRescorerProvider.java

示例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();
  }
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:33,代码来源:ServerRecommender.java

示例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;
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:14,代码来源:RecommendIterator.java

示例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;
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:11,代码来源:MultiRescorer.java

示例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;
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:10,代码来源:MultiRescorer.java

示例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);
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:12,代码来源:MultiRescorerProvider.java

示例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);  
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:12,代码来源:MultiRescorerProvider.java

示例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); 
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:12,代码来源:MultiRescorerProvider.java

示例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);
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:11,代码来源:MultiRescorerProvider.java

示例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));    
}
 
开发者ID:myrrix,项目名称:myrrix-recommender,代码行数:12,代码来源:MultiRescorerProviderTest.java


注:本文中的org.apache.mahout.cf.taste.recommender.IDRescorer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。