Changeset 18220 for trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionSingleObjectiveMeanAbsoluteErrorEvaluator.cs
- Timestamp:
- 02/24/22 20:33:45 (11 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
-
trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression
- Property svn:mergeinfo changed
-
trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4
- Property svn:mergeinfo changed
-
trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionSingleObjectiveMeanAbsoluteErrorEvaluator.cs
r17180 r18220 43 43 44 44 public override IOperation InstrumentedApply() { 45 var solution= SymbolicExpressionTreeParameter.ActualValue;45 var tree = SymbolicExpressionTreeParameter.ActualValue; 46 46 IEnumerable<int> rows = GenerateRowsToEvaluate(); 47 47 48 double quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, solution, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, ProblemDataParameter.ActualValue, rows, ApplyLinearScalingParameter.ActualValue.Value); 48 double quality = Calculate(tree, 49 ProblemDataParameter.ActualValue, rows, 50 SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 51 ApplyLinearScalingParameter.ActualValue.Value, 52 EstimationLimitsParameter.ActualValue.Lower, 53 EstimationLimitsParameter.ActualValue.Upper); 49 54 QualityParameter.ActualValue = new DoubleValue(quality); 50 55 … … 52 57 } 53 58 54 public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IRegressionProblemData problemData, IEnumerable<int> rows, bool applyLinearScaling) { 55 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 59 public static double Calculate( 60 ISymbolicExpressionTree tree, 61 IRegressionProblemData problemData, 62 IEnumerable<int> rows, 63 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 64 bool applyLinearScaling, 65 double lowerEstimationLimit, 66 double upperEstimationLimit) { 67 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(tree, problemData.Dataset, rows); 56 68 IEnumerable<double> targetValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 57 69 OnlineCalculatorError errorState; … … 76 88 ApplyLinearScalingParameter.ExecutionContext = context; 77 89 78 double mse = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value); 90 double mse = Calculate( 91 tree, problemData, rows, 92 SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 93 ApplyLinearScalingParameter.ActualValue.Value, 94 EstimationLimitsParameter.ActualValue.Lower, 95 EstimationLimitsParameter.ActualValue.Upper); 79 96 80 97 SymbolicDataAnalysisTreeInterpreterParameter.ExecutionContext = null; … … 84 101 return mse; 85 102 } 103 104 public override double Evaluate( 105 ISymbolicExpressionTree tree, 106 IRegressionProblemData problemData, 107 IEnumerable<int> rows, 108 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 109 bool applyLinearScaling = true, 110 double lowerEstimationLimit = double.MinValue, 111 double upperEstimationLimit = double.MaxValue) { 112 return Calculate(tree, problemData, rows, interpreter, applyLinearScaling, lowerEstimationLimit, upperEstimationLimit); 113 } 86 114 } 87 115 }
Note: See TracChangeset
for help on using the changeset viewer.