/// <summary>Evaluates a solution individual using the best predictor so far.</summary> protected internal virtual void PredictIndividual(GAIndividual inIndividual, bool duringSimplify) { FloatRegFitPredictionIndividual predictor = (FloatRegFitPredictionIndividual)_predictorGA.GetBestPredictor(); float fitness = predictor.PredictSolutionFitness((PushGPIndividual)inIndividual); inIndividual.SetFitness(fitness); inIndividual.SetErrors(new List <float>()); }
protected internal override void EvaluateIndividual(GAIndividual inIndividual) { FloatRegFitPredictionIndividual predictor = (FloatRegFitPredictionIndividual)inIndividual; List <float> errors = new List <float>(); for (int i = 0; i < _trainerPopulationSize; i++) { float predictedError = predictor.PredictSolutionFitness(_trainerPopulation[i]); // Error is difference between predictedError and the actual fitness // of the trainer. float error = Math.Abs(predictedError) - Math.Abs(_trainerPopulation[i].GetFitness()); errors.Add(error); } predictor.SetFitness(AbsoluteAverageOfErrors(errors)); predictor.SetErrors(errors); }