Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/09/10 17:28:32 (14 years ago)
Author:
gkronber
Message:

Added first version of architecture altering operators for ADFs. #290 (Implement ADFs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionMeanSquaredErrorEvaluator.cs

    r3257 r3294  
    4141  public class SymbolicRegressionMeanSquaredErrorEvaluator : SymbolicRegressionEvaluator {
    4242    protected override double Evaluate(SymbolicExpressionTree solution, Dataset dataset, StringValue targetVariable, IntValue samplesStart, IntValue samplesEnd, DoubleValue numberOfEvaluatedNodes) {
    43       double mse = Apply(solution, dataset, targetVariable.Value, samplesStart.Value, samplesEnd.Value);
     43      double mse = Calculate(solution, dataset, targetVariable.Value, samplesStart.Value, samplesEnd.Value);
    4444      numberOfEvaluatedNodes.Value += solution.Size * (samplesEnd.Value - samplesStart.Value);
    4545      return mse;
    4646    }
    4747
    48     public static double Apply(SymbolicExpressionTree solution, Dataset dataset, string targetVariable, int start, int end) {
     48    public static double Calculate(SymbolicExpressionTree solution, Dataset dataset, string targetVariable, int start, int end) {
    4949      SimpleArithmeticExpressionEvaluator evaluator = new SimpleArithmeticExpressionEvaluator();
     50      int targetVariableIndex = dataset.GetVariableIndex(targetVariable);
    5051      var estimatedValues = evaluator.EstimatedValues(solution, dataset, Enumerable.Range(start, end - start));
    51       var originalValues = dataset.VariableValues(targetVariable, start, end);
    52       var values = new DoubleMatrix(MatrixExtensions<double>.Create(estimatedValues.ToArray(), originalValues));
    53       return SimpleMSEEvaluator.Calculate(values);
     52      var originalValues = from row in Enumerable.Range(start, end - start) select dataset[row, targetVariableIndex];
     53      return SimpleMSEEvaluator.Calculate(originalValues, estimatedValues);
    5454    }
    5555  }
Note: See TracChangeset for help on using the changeset viewer.