List of usage examples for org.apache.mahout.cf.taste.impl.common RunningAverage changeDatum
void changeDatum(double delta);
From source file:net.ufida.info.mahout.common.MemoryDiffStorage.java
License:Apache License
@Override public void updateItemPref(long itemID, float prefDelta) { if (stdDevWeighted) { throw new UnsupportedOperationException("Can't update only when stdDevWeighted is set"); }//from ww w . ja v a 2 s. com try { buildAverageDiffsLock.readLock().lock(); for (Map.Entry<Long, FastByIDMap<RunningAverage>> entry : averageDiffs.entrySet()) { boolean matchesItemID1 = itemID == entry.getKey(); for (Map.Entry<Long, RunningAverage> entry2 : entry.getValue().entrySet()) { RunningAverage average = entry2.getValue(); if (matchesItemID1) { average.changeDatum(-prefDelta); } else if (itemID == entry2.getKey()) { average.changeDatum(prefDelta); } } } RunningAverage itemAverage = averageItemPref.get(itemID); if (itemAverage != null) { itemAverage.changeDatum(prefDelta); } } finally { buildAverageDiffsLock.readLock().unlock(); } }