@Override protected void processOneEstimate(float estimatedPreference, Preference realPref) { average.addDatum(Math.abs(realPref.getValue() - estimatedPreference)); }
@Override protected void processOneEstimate(float estimatedPreference, Preference realPref) { double diff = realPref.getValue() - estimatedPreference; average.addDatum(diff * diff); }
@Override protected void processOneEstimate(float estimatedPreference, Preference realPref) { double diff = realPref.getValue() - estimatedPreference; average.addDatum(diff * diff); }
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 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 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); }
protected double averateRating(long itemID) throws TasteException { PreferenceArray prefs = dataModel.getPreferencesForItem(itemID); RunningAverage avg = new FullRunningAverage(); for (Preference pref : prefs) { avg.addDatum(pref.getValue()); } return avg.getAverage(); } }
@Override protected void map(IntWritable r, VectorWritable v, Context ctx) throws IOException, InterruptedException { RunningAverage avg = new FullRunningAverage(); for (Vector.Element e : v.get().nonZeroes()) { avg.addDatum(e.get()); } featureVector.setQuick(r.get(), avg.getAverage()); featureVectorWritable.set(featureVector); ctx.write(firstIndex, featureVectorWritable); // prepare instance for reuse featureVector.setQuick(r.get(), 0.0d); } }
protected double averateRating(long itemID) throws TasteException { PreferenceArray prefs = dataModel.getPreferencesForItem(itemID); RunningAverage avg = new FullRunningAverage(); for (Preference pref : prefs) { avg.addDatum(pref.getValue()); } return avg.getAverage(); } }
protected double computeRmse(Path errors) { RunningAverage average = new FullRunningAverage(); for (Pair<DoubleWritable,NullWritable> entry : new SequenceFileDirIterable<DoubleWritable, NullWritable>(errors, PathType.LIST, getConf())) { DoubleWritable error = entry.getFirst(); average.addDatum(error.get() * error.get()); } return Math.sqrt(average.getAverage()); }
double computeRmse(Path errors) { RunningAverage average = new FullRunningAverage(); for (Pair<DoubleWritable,NullWritable> entry : new SequenceFileDirIterable<DoubleWritable, NullWritable>(errors, PathType.LIST, PathFilters.logsCRCFilter(), getConf())) { DoubleWritable error = entry.getFirst(); average.addDatum(error.get() * error.get()); } return Math.sqrt(average.getAverage()); }
double getAveragePreference() throws TasteException { RunningAverage average = new FullRunningAverage(); LongPrimitiveIterator it = dataModel.getUserIDs(); while (it.hasNext()) { for (Preference pref : dataModel.getPreferencesFromUser(it.nextLong())) { average.addDatum(pref.getValue()); } } return average.getAverage(); }
double getAveragePreference() throws TasteException { RunningAverage average = new FullRunningAverage(); LongPrimitiveIterator it = dataModel.getUserIDs(); while (it.hasNext()) { for (Preference pref : dataModel.getPreferencesFromUser(it.nextLong())) { average.addDatum(pref.getValue()); } } return average.getAverage(); }
double getAveragePreference() throws TasteException { RunningAverage average = new FullRunningAverage(); LongPrimitiveIterator it = dataModel.getUserIDs(); while (it.hasNext()) { for (Preference pref : dataModel.getPreferencesFromUser(it.nextLong())) { average.addDatum(pref.getValue()); } } return average.getAverage(); }
double getAveragePreference() throws TasteException { RunningAverage average = new FullRunningAverage(); LongPrimitiveIterator it = dataModel.getUserIDs(); while (it.hasNext()) { for (Preference pref : dataModel.getPreferencesFromUser(it.nextLong())) { average.addDatum(pref.getValue()); } } return average.getAverage(); }
double getAveragePreference() throws TasteException { RunningAverage average = new FullRunningAverage(); LongPrimitiveIterator it = dataModel.getUserIDs(); while (it.hasNext()) { for (Preference pref : dataModel.getPreferencesFromUser(it.nextLong())) { average.addDatum(pref.getValue()); } } return average.getAverage(); }
double getAveragePreference() throws TasteException { RunningAverage average = new FullRunningAverage(); LongPrimitiveIterator it = dataModel.getUserIDs(); while (it.hasNext()) { for (Preference pref : dataModel.getPreferencesFromUser(it.nextLong())) { average.addDatum(pref.getValue()); } } return average.getAverage(); }
@Test(expected = UnsupportedOperationException.class) public void testUnsupported1() { RunningAverage inverted = new InvertedRunningAverage(new FullRunningAverage()); inverted.addDatum(1.0); }
@Test public void testCopyConstructor() { RunningAverage runningAverage = new FullRunningAverage(); runningAverage.addDatum(1.0); runningAverage.addDatum(1.0); assertEquals(2, runningAverage.getCount()); assertEquals(1.0, runningAverage.getAverage(), EPSILON); RunningAverage copy = new FullRunningAverage(runningAverage.getCount(), runningAverage.getAverage()); assertEquals(2, copy.getCount()); assertEquals(1.0, copy.getAverage(), EPSILON); }
@Test public void testAverage() { RunningAverage avg = new FullRunningAverage(); RunningAverage inverted = new InvertedRunningAverage(avg); assertEquals(0, inverted.getCount()); avg.addDatum(1.0); assertEquals(1, inverted.getCount()); assertEquals(-1.0, inverted.getAverage(), EPSILON); avg.addDatum(2.0); assertEquals(2, inverted.getCount()); assertEquals(-1.5, inverted.getAverage(), EPSILON); }