@Override public Vector classify(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classify(instance), scale); } return r; }
Vector v = lr.classify(new DenseVector(new double[]{0, 0})); assertEquals(1 / 3.0, v.get(0), 1.0e-8); assertEquals(1 / 3.0, v.get(1), 1.0e-8); v = lr.classify(new DenseVector(new double[]{0, 1})); assertEquals(1 / 3.0, v.get(0), 1.0e-3); assertEquals(1 / 3.0, v.get(1), 1.0e-3); v = lr.classify(new DenseVector(new double[]{1, 0})); assertEquals(Math.exp(-1) / (1 + Math.exp(-1) + Math.exp(-2)), v.get(0), 1.0e-8); assertEquals(Math.exp(-2) / (1 + Math.exp(-1) + Math.exp(-2)), v.get(1), 1.0e-8);
@Override public Vector classify(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classify(instance), scale); } return r; }
@Override public Vector classify(Vector instance) { Vector r = new DenseVector(numCategories() - 1); DoubleDoubleFunction scale = Functions.plusMult(1.0 / models.size()); for (OnlineLogisticRegression model : models) { r.assign(model.classify(instance), scale); } return r; }
v.set(2, 1); Vector r = learningAlgo.classify(v); System.out.println(r);