@Override public GlobalBiasModel get() { double sum = 0; int n = 0; try (ObjectStream<Rating> ratings = dao.query(Rating.class).stream()) { for (Rating r: ratings) { sum += r.getValue(); n += 1; } } double mean = n > 0 ? sum / n : 0; return new GlobalBiasModel(mean); } }
@Test public void testZeroBias() { BiasModel model = new GlobalBiasModel(0); assertThat(model.getIntercept(), equalTo(0.0)); assertThat(model.getUserBias(42L), equalTo(0.0)); assertThat(model.getItemBias(42L), equalTo(0.0)); }
@Test public void testBasicBias() { BiasModel model = new GlobalBiasModel(Math.PI); assertThat(model.getIntercept(), equalTo(Math.PI)); assertThat(model.getUserBias(42L), equalTo(0.0)); assertThat(model.getItemBias(42L), equalTo(0.0)); }
@Override public GlobalBiasModel get() { double sum = 0; int n = 0; try (ObjectStream<Rating> ratings = dao.query(Rating.class).stream()) { for (Rating r: ratings) { sum += r.getValue(); n += 1; } } double mean = n > 0 ? sum / n : 0; return new GlobalBiasModel(mean); } }