private static void addDatumAndCreateIfNeeded(long itemID, float value, FastByIDMap<RunningAverage> averages) { RunningAverage itemAverage = averages.get(itemID); if (itemAverage == null) { itemAverage = new FullRunningAverage(); averages.put(itemID, itemAverage); } itemAverage.addDatum(value); }
private void addSomeOf(FastIDSet possibleItemIDs, FastIDSet itemIDs) { if (itemIDs.size() > maxItemsPerUser) { LongPrimitiveIterator it = new SamplingLongPrimitiveIterator(itemIDs.iterator(), (double) maxItemsPerUser / itemIDs.size()); while (it.hasNext()) { possibleItemIDs.add(it.nextLong()); } } else { possibleItemIDs.addAll(itemIDs); } }
@Override public void refresh(Collection<Refreshable> alreadyRefreshed) { neighborhoodCache.clear(); Collection<Refreshable> refreshed = RefreshHelper.buildRefreshed(alreadyRefreshed); RefreshHelper.maybeRefresh(refreshed, neighborhood); }
private static FastByIDMap<Integer> createIDMapping(int size, LongPrimitiveIterator idIterator) { FastByIDMap<Integer> mapping = new FastByIDMap<Integer>(size); int index = 0; while (idIterator.hasNext()) { mapping.put(idIterator.nextLong(), index++); } return mapping; }
@Override public synchronized void removeDatum(double datum) { int oldCount = getCount(); super.removeDatum(datum); double oldmk = mk; mk = (oldCount * oldmk - datum) / (oldCount - 1); sk -= (datum - mk) * (datum - oldmk); recomputeStdDev(); }
private void addSomeOf(FastIDSet possibleItemIDs, FastIDSet itemIDs) { if (itemIDs.size() > maxItemsPerUser) { LongPrimitiveIterator it = new SamplingLongPrimitiveIterator(itemIDs.iterator(), (double) maxItemsPerUser / itemIDs.size()); while (it.hasNext()) { possibleItemIDs.add(it.nextLong()); } } else { possibleItemIDs.addAll(itemIDs); } }
private static FastByIDMap<Integer> createIDMapping(int size, LongPrimitiveIterator idIterator) { FastByIDMap<Integer> mapping = new FastByIDMap<Integer>(size); int index = 0; while (idIterator.hasNext()) { mapping.put(idIterator.nextLong(), index++); } return mapping; }
private static void addDatumAndCreateIfNeeded(long itemID, float value, FastByIDMap<RunningAverage> averages) { RunningAverage itemAverage = averages.get(itemID); if (itemAverage == null) { itemAverage = new FullRunningAverage(); averages.put(itemID, itemAverage); } itemAverage.addDatum(value); }
@Override public void refresh(Collection<Refreshable> alreadyRefreshed) { neighborhoodCache.clear(); Collection<Refreshable> refreshed = RefreshHelper.buildRefreshed(alreadyRefreshed); RefreshHelper.maybeRefresh(refreshed, neighborhood); }
@Override public synchronized void removeDatum(double datum) { int oldCount = getCount(); super.removeDatum(datum); double oldmk = mk; mk = (oldCount * oldmk - datum) / (oldCount - 1); sk -= (datum - mk) * (datum - oldmk); recomputeStdDev(); }
private static void addDatumAndCreateIfNeeded(long itemID, float value, FastByIDMap<RunningAverage> averages) { RunningAverage itemAverage = averages.get(itemID); if (itemAverage == null) { itemAverage = new FullRunningAverage(); averages.put(itemID, itemAverage); } itemAverage.addDatum(value); }
@Override public void refresh(Collection<Refreshable> alreadyRefreshed) { neighborhoodCache.clear(); Collection<Refreshable> refreshed = RefreshHelper.buildRefreshed(alreadyRefreshed); RefreshHelper.maybeRefresh(refreshed, neighborhood); }