Changeset 3294 for trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionMeanSquaredErrorEvaluator.cs
- Timestamp:
- 04/09/10 17:28:32 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/SymbolicRegressionMeanSquaredErrorEvaluator.cs
r3257 r3294 41 41 public class SymbolicRegressionMeanSquaredErrorEvaluator : SymbolicRegressionEvaluator { 42 42 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); 44 44 numberOfEvaluatedNodes.Value += solution.Size * (samplesEnd.Value - samplesStart.Value); 45 45 return mse; 46 46 } 47 47 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) { 49 49 SimpleArithmeticExpressionEvaluator evaluator = new SimpleArithmeticExpressionEvaluator(); 50 int targetVariableIndex = dataset.GetVariableIndex(targetVariable); 50 51 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); 54 54 } 55 55 }
Note: See TracChangeset
for help on using the changeset viewer.