@Override public RealVector computeSyntheticValues(SampleIterator it) { it.reset(); Sample sample = it.next(); int inputDim = sample.getEncodedInput().getDimension(); int outputDim = sample.getEncodedOutput().getDimension(); RealVector v = new ArrayRealVector(outputDim); for (int out = 0; out < outputDim; out++) { it.reset(); double eta = generalizedCorrelationRatio(it, inputDim, out); if (eta < 0) return null; v.setEntry(out, eta); } return v; }
@Override public RealMatrix computeIOCorrelationMatrix(SampleIterator it) { it.reset(); Sample sample = it.next(); int inputDim = sample.getEncodedInput().getDimension(); int outputDim = sample.getEncodedOutput().getDimension(); RealMatrix M = new Array2DRowRealMatrix(inputDim, outputDim); for (int i = 0; i < inputDim; i++) { for (int j = 0; j < outputDim; j++) { it.reset(); M.setEntry(i, j, correlationRatio(it, i, j)); } } return M; }