本文整理汇总了Java中org.grouplens.lenskit.cursors.Cursor类的典型用法代码示例。如果您正苦于以下问题:Java Cursor类的具体用法?Java Cursor怎么用?Java Cursor使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Cursor类属于org.grouplens.lenskit.cursors包,在下文中一共展示了Cursor类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getItemVectors
import org.grouplens.lenskit.cursors.Cursor; //导入依赖的package包/类
/**
* Load the data into memory, indexed by item.
* @return A map from item IDs to item rating vectors. Each vector contains users' ratings for
* the item, keyed by user ID.
*/
public Map<Long,ImmutableSparseVector> getItemVectors() {
// set up storage for building each item's rating vector
LongSet items = itemDao.getItemIds();
// map items to maps from users to ratings
Map<Long,Map<Long,Double>> itemData = new HashMap<Long, Map<Long, Double>>();
for (long item: items) {
itemData.put(item, new HashMap<Long, Double>());
}
// itemData should now contain a map to accumulate the ratings of each item
// stream over all user events
Cursor<UserHistory<Event>> stream = userEventDao.streamEventsByUser();
try {
for (UserHistory<Event> evt: stream) {
MutableSparseVector vector = RatingVectorUserHistorySummarizer.makeRatingVector(evt).mutableCopy();
// vector is now the user's rating vector
// TODO Normalize this vector and store the ratings in the item data
}
} finally {
stream.close();
}
// This loop converts our temporary item storage to a map of item vectors
Map<Long,ImmutableSparseVector> itemVectors = new HashMap<Long, ImmutableSparseVector>();
for (Map.Entry<Long,Map<Long,Double>> entry: itemData.entrySet()) {
MutableSparseVector vec = MutableSparseVector.create(entry.getValue());
itemVectors.put(entry.getKey(), vec.immutable());
}
return itemVectors;
}
开发者ID:4DD8A19D69F5324F9D49D17EF78BBBCC,项目名称:Introd_uction_to_Recom_mander_S_ystem,代码行数:36,代码来源:SimpleItemItemModelBuilder.java
示例2: getItemVectors
import org.grouplens.lenskit.cursors.Cursor; //导入依赖的package包/类
/**
* Load the data into memory, indexed by item.
* @return A map from item IDs to item rating vectors. Each vector contains users' ratings for
* the item, keyed by user ID.
*/
public Map<Long,ImmutableSparseVector> getItemVectors() {
// set up storage for building each item's rating vector
LongSet items = itemDao.getItemIds();
// map items to maps from users to ratings
Map<Long,Map<Long,Double>> itemData = new HashMap<Long, Map<Long, Double>>();
for (long item: items) {
itemData.put(item, new HashMap<Long, Double>());
}
// itemData should now contain a map to accumulate the ratings of each item
// stream over all user events
Cursor<UserHistory<Event>> stream = userEventDao.streamEventsByUser();
try {
for (UserHistory<Event> evt: stream) {
MutableSparseVector vector = RatingVectorUserHistorySummarizer.makeRatingVector(evt).mutableCopy();
// vector is now the user's rating vector
// Normalize this vector
vector.add(-vector.mean());
// Store the ratings in the item data
for (VectorEntry vectorEntry : vector.fast(VectorEntry.State.EITHER)) {
long itemId = vectorEntry.getKey();
double rating = vectorEntry.getValue();
long userId = evt.getUserId();
itemData.get(itemId).put(userId, rating);
}
}
} finally {
stream.close();
}
// This loop converts our temporary item storage to a map of item vectors
Map<Long,ImmutableSparseVector> itemVectors = new HashMap<Long, ImmutableSparseVector>();
for (Map.Entry<Long,Map<Long,Double>> entry: itemData.entrySet()) {
MutableSparseVector vec = MutableSparseVector.create(entry.getValue());
itemVectors.put(entry.getKey(), vec.immutable());
}
return itemVectors;
}
示例3: createRatingMatrix
import org.grouplens.lenskit.cursors.Cursor; //导入依赖的package包/类
/**
* Build a rating matrix from the rating data. Each user's ratings are first normalized
* by subtracting a baseline score (usually a mean).
*
* @param userMapping The index mapping of user IDs to column numbers.
* @param itemMapping The index mapping of item IDs to row numbers.
* @return A matrix storing the <i>normalized</i> user ratings.
*/
private RealMatrix createRatingMatrix(IdIndexMapping userMapping, IdIndexMapping itemMapping) {
final int nusers = userMapping.size();
final int nitems = itemMapping.size();
// Create a matrix with users on rows and items on columns
logger.info("creating {} by {} rating matrix", nusers, nitems);
RealMatrix matrix = MatrixUtils.createRealMatrix(nusers, nitems);
// populate it with data
Cursor<UserHistory<Event>> users = userEventDAO.streamEventsByUser();
try {
for (UserHistory<Event> user: users) {
// Get the row number for this user
int u = userMapping.getIndex(user.getUserId());
MutableSparseVector ratings = Ratings.userRatingVector(user.filter(Rating.class));
MutableSparseVector baselines = MutableSparseVector.create(ratings.keySet());
baselineScorer.score(user.getUserId(), baselines);
for(VectorEntry v : ratings.fast())
{
matrix.setEntry(u, itemMapping.getIndex(v.getKey()), v.getValue() - baselineScorer.score(user.getUserId(), v.getKey()));
}
}
} finally {
users.close();
}
return matrix;
}
示例4: get
import org.grouplens.lenskit.cursors.Cursor; //导入依赖的package包/类
@Override
public PopularityItemScorer get() {
MutableSparseVector vec = MutableSparseVector.create(itemDAO.getItemIds(), 0);
Cursor<Event> stream = eventDAO.streamEvents();
try {
for (Event e: stream) {
vec.add(e.getItemId(), 1);
}
} finally {
stream.close();
}
return new PopularityItemScorer(vec);
}
示例5: getItemVectors
import org.grouplens.lenskit.cursors.Cursor; //导入依赖的package包/类
/**
* Load the data into memory, indexed by item.
* @return A map from item IDs to item rating vectors. Each vector contains users' ratings for
* the item, keyed by user ID.
*/
public Map<Long,ImmutableSparseVector> getItemVectors() {
// set up storage for building each item's rating vector
LongSet items = itemDao.getItemIds();
// map items to maps from users to ratings
Map<Long,Map<Long,Double>> itemData = new HashMap<Long, Map<Long, Double>>();
for (long item: items) {
itemData.put(item, new HashMap<Long, Double>());
}
// itemData should now contain a map to accumulate the ratings of each item
// stream over all user events
Cursor<UserHistory<Event>> stream = userEventDao.streamEventsByUser();
try {
for (UserHistory<Event> evt: stream) {
MutableSparseVector vector = RatingVectorUserHistorySummarizer.makeRatingVector(evt).mutableCopy();
// vector is now the user's rating vector
// Normalizing this vector and store the ratings in the item data
vector.add(-(vector.mean()));
for (VectorEntry e: vector) {
itemData.get(e.getKey()).put(evt.getUserId(), e.getValue());
}
}
} finally {
stream.close();
}
// This loop converts our temporary item storage to a map of item vectors
Map<Long,ImmutableSparseVector> itemVectors = new HashMap<Long, ImmutableSparseVector>();
for (Map.Entry<Long,Map<Long,Double>> entry: itemData.entrySet()) {
MutableSparseVector vec = MutableSparseVector.create(entry.getValue());
itemVectors.put(entry.getKey(), vec.immutable());
}
return itemVectors;
}
开发者ID:rohitsinha54,项目名称:Coursera-Introduction-to-Recommender-Systems-Programming-Assignment-5,代码行数:41,代码来源:SimpleItemItemModelBuilder.java
示例6: streamEvents
import org.grouplens.lenskit.cursors.Cursor; //导入依赖的package包/类
@Override
public Cursor<Event> streamEvents() {
// delegate to the cached event collection DAO
ensureRatingCache();
return cache.streamEvents();
}
开发者ID:4DD8A19D69F5324F9D49D17EF78BBBCC,项目名称:Introd_uction_to_Recom_mander_S_ystem,代码行数:7,代码来源:MOOCRatingDAO.java