@Override public synchronized void addDatum(double datum) { super.addDatum(datum); int count = getCount(); if (count == 1) { mk = datum; sk = 0.0; } else { double oldmk = mk; double diff = datum - oldmk; mk += diff / count; sk += diff * (datum - mk); } recomputeStdDev(); }
@Override public synchronized void addDatum(double datum) { super.addDatum(datum); int count = getCount(); if (count == 1) { mk = datum; sk = 0.0; } else { double oldmk = mk; double diff = datum - oldmk; mk += diff / count; sk += diff * (datum - mk); } recomputeStdDev(); }
@Override public synchronized void addDatum(double datum) { super.addDatum(datum); int count = getCount(); if (count == 1) { mk = datum; sk = 0.0; } else { double oldmk = mk; double diff = datum - oldmk; mk += diff / count; sk += diff * (datum - mk); } recomputeStdDev(); }
double estimate = u.getRow(userID).dot(m.getRow(itemID)); double err = rating - estimate; rmseAvg.addDatum(err * err); maeAvg.addDatum(Math.abs(err)); writer.write("Probe [" + pairsUsed + "], rating of user [" + userID + "] towards item [" + itemID + "], " + "[" + rating + "] estimated [" + estimate + "]\n");
double xk = data.getDataset().getLabel(instance); if (ra[value].getCount() == 0) { ra[value].addDatum(xk); sk[value] = 0.0; } else { double mk = ra[value].getAverage(); ra[value].addDatum(xk); sk[value] += (xk - mk) * (xk - ra[value].getAverage()); totalRa.addDatum(xk); totalSk = 0.0; } else { double mk = totalRa.getAverage(); totalRa.addDatum(xk); totalSk += (xk - mk) * (xk - totalRa.getAverage());
double xk = data.getDataset().getLabel(instance); if (ra[value].getCount() == 0) { ra[value].addDatum(xk); sk[value] = 0.0; } else { double mk = ra[value].getAverage(); ra[value].addDatum(xk); sk[value] += (xk - mk) * (xk - ra[value].getAverage()); totalRa.addDatum(xk); totalSk = 0.0; } else { double mk = totalRa.getAverage(); totalRa.addDatum(xk); totalSk += (xk - mk) * (xk - totalRa.getAverage());
double xk = data.getDataset().getLabel(instance); if (ra[value].getCount() == 0) { ra[value].addDatum(xk); sk[value] = 0.0; } else { double mk = ra[value].getAverage(); ra[value].addDatum(xk); sk[value] += (xk - mk) * (xk - ra[value].getAverage()); totalRa.addDatum(xk); totalSk = 0.0; } else { double mk = totalRa.getAverage(); totalRa.addDatum(xk); totalSk += (xk - mk) * (xk - totalRa.getAverage());
double xk = data.getDataset().getLabel(instance); if (ra[1].getCount() == 0) { ra[1].addDatum(xk); sk[1] = 0.0; } else { double mk = ra[1].getAverage(); ra[1].addDatum(xk); sk[1] += (xk - mk) * (xk - ra[1].getAverage()); ra[0].addDatum(xk); sk[0] = 0.0; } else { double mk = ra[0].getAverage(); ra[0].addDatum(xk); sk[0] += (xk - mk) * (xk - ra[0].getAverage());
double xk = data.getDataset().getLabel(instance); if (ra[1].getCount() == 0) { ra[1].addDatum(xk); sk[1] = 0.0; } else { double mk = ra[1].getAverage(); ra[1].addDatum(xk); sk[1] += (xk - mk) * (xk - ra[1].getAverage()); ra[0].addDatum(xk); sk[0] = 0.0; } else { double mk = ra[0].getAverage(); ra[0].addDatum(xk); sk[0] += (xk - mk) * (xk - ra[0].getAverage());
double xk = data.getDataset().getLabel(instance); if (ra[1].getCount() == 0) { ra[1].addDatum(xk); sk[1] = 0.0; } else { double mk = ra[1].getAverage(); ra[1].addDatum(xk); sk[1] += (xk - mk) * (xk - ra[1].getAverage()); ra[0].addDatum(xk); sk[0] = 0.0; } else { double mk = ra[0].getAverage(); ra[0].addDatum(xk); sk[0] += (xk - mk) * (xk - ra[0].getAverage());