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); }
} else { PrintStream out = new PrintStream(outfile, "UTF-8"); for (U user : dm.getUsers()) { for (I item : dm.getUserItems(user)) { Double pref = dm.getUserItemPreference(user, item);
for (Long u : model.getUsers()) { for (Long i : model.getUserItems(u)) { Double d = model.getUserItemPreference(u, i);
splits[1] = DataModelFactory.getDefaultTemporalModel(); // test if (perUser) { for (U user : data.getUsers()) { Set<Long> userTimestamps = new HashSet<>(); for (I i : data.getUserItems(user)) { for (U user : data.getUsers()) { for (I i : data.getUserItems(user)) { for (Long t : data.getUserItemTimestamps(user, i)) { for (U user : data.getUsers()) { for (I item : data.getUserItems(user)) { Double pref = data.getUserItemPreference(user, item);
/** * 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); }