public PreferenceDataWrapper(TemporalDataModelIF<Long, Long> data, FastUserIndex<Long> uIndex, FastItemIndex<Long> iIndex) { List<Tuple3<Long, Long, Double>> tuples = new ArrayList<>(); for (Long u : data.getUsers()) { for (Long i : data.getUserItems(u)) { tuples.add(new Tuple3<>(u, i, data.getUserItemPreference(u, i))); } } wrapper = SimpleFastPreferenceData.load(tuples.stream(), uIndex, iIndex); }
for (U user : dm.getUsers()) { for (I item : dm.getUserItems(user)) { Double pref = dm.getUserItemPreference(user, item); Iterable<Long> time = dm.getUserItemTimestamps(user, item); if (time == null) {
Collections.shuffle(items, rnd); for (I item : items) { Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); int curFold = n % nFolds; Collections.shuffle(items, rnd); for (I item : items) { Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); int curFold = n % nFolds;
Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); int curFold = n % nFolds; Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); int curFold = n % nFolds;
for (Long u : model.getUsers()) { for (Long i : model.getUserItems(u)) { Double d = model.getUserItemPreference(u, i); Iterable<Long> time = model.getUserItemTimestamps(u, i); if (time == null) {
for (int i = 0; i < items.size(); i++) { I item = items.get(i); Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); TemporalDataModelIF<U, I> datamodel = splits[0]; // training I item = it.getFirst(); Long time = it.getSecond(); Double pref = data.getUserItemPreference(user, item); TemporalDataModelIF<U, I> datamodel = splits[0]; // training if (i > splitPoint) { for (U user : data.getUsers()) { for (I item : data.getUserItems(user)) { Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); if (doSplitPerItems) {
Double pref = data.getUserItemPreference(user, item); boolean inTest = false; for (Long time : data.getUserItemTimestamps(user, item)) { Double pref = data.getUserItemPreference(user, item); for (Long time : data.getUserItemTimestamps(user, item)) { TemporalDataModelIF<U, I> datamodel = splits[0]; // training Double pref = data.getUserItemPreference(user, item); Iterable<Long> time = data.getUserItemTimestamps(user, item); if (time == null) {
/** * Constructs the wrapper using the provided model. * * @param model the model to be used to create the wrapped model */ public EventDAOWrapper(final TemporalDataModelIF<Long, Long> model) { List<Rating> events = new ArrayList<>(); RatingBuilder rb = new RatingBuilder(); for (Long u : model.getUsers()) { rb.setUserId(u); for (Long i : model.getUserItems(u)) { rb.setItemId(i); rb.setRating(model.getUserItemPreference(u, i)); Iterable<Long> timestamps = model.getUserItemTimestamps(u, i); long t = -1; if (timestamps != null) { for (Long tt : timestamps) { t = tt; break; } } rb.setTimestamp(t); events.add(rb.build()); } } wrapper = EntityCollectionDAO.create(events); }
/** * Constructs the wrapper using the provided model. * * @param model the model to be used to create the wrapped model */ public DataModelWrapper(final net.recommenders.rival.core.TemporalDataModelIF<Long, Long> model) { FastByIDMap<Collection<Preference>> data = new FastByIDMap<Collection<Preference>>(); FastByIDMap<FastByIDMap<Long>> timestampData = new FastByIDMap<FastByIDMap<Long>>(); for (Long u : model.getUsers()) { List<Preference> prefs = new ArrayList<Preference>(); FastByIDMap<Long> userTimestamps = new FastByIDMap<Long>(); timestampData.put(u, userTimestamps); for (Long i : model.getUserItems(u)) { Iterable<Long> timestamps = model.getUserItemTimestamps(u, i); long t = -1; if (timestamps != null) { for (Long tt : timestamps) { t = tt; break; } } userTimestamps.put(i, t); prefs.add(new GenericPreference(u, i, model.getUserItemPreference(u, i).floatValue())); } data.put(u, prefs); } FastByIDMap<PreferenceArray> userData = GenericDataModel.toDataMap(data, true); wrapper = new GenericDataModel(userData, timestampData); }