예제 #1
0
  /**
   * Test ensemble in regression
   *
   * @param global Global definition parameters
   * @param data Input data
   * @param npatterns No of patterns
   * @return Test ensemble in regression
   */
  public double TestEnsembleInRegression(
      EnsembleParameters global, double data[][], int npatterns) {
    double fitness, RMS = 0.0, error;

    double[] outputs = new double[Noutputs];

    for (int i = 0; i < npatterns; i++) {
      // Obtain network output
      EnsembleOutput(data[i], outputs);

      // Obtain RMS error
      error = 0.0;
      for (int j = 0; j < Noutputs; j++) {
        error += Math.pow(outputs[j] - data[i][Ninputs + j], 2.0);
      }
      RMS += Math.sqrt(error);
    }

    fitness = RMS / (npatterns * global.Noutputs);

    return fitness;
  }