LinearModel { public boolean classify(Vector dataPoint) { double product = this.hyperplane.dot(dataPoint); if (log.isDebugEnabled()) { log.debug("model: {} product: {} Bias: {} threshold: {}", new Object[] {this, product, bias, threshold}); } return product + this.bias > this.threshold; } LinearModel(Vector hyperplane, double displacement, double threshold);  LinearModel(Vector hyperplane); boolean classify(Vector dataPoint); void addDelta(Vector delta); @Override String toString(); void shiftBias(double factor); void timesDelta(int index, double delta);  }
@Test public void testClassify() { double[] valuesFalse = {1.0, 0.0, 1.0, 0.0, 1.0}; Vector dataPointFalse = new DenseVector(valuesFalse); assertFalse(this.model.classify(dataPointFalse)); double[] valuesTrue = {0.0, 1.0, 0.0, 1.0, 0.0}; Vector dataPointTrue = new DenseVector(valuesTrue); assertTrue(this.model.classify(dataPointTrue)); }