Changeset 18220 for trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs
- Timestamp:
- 02/24/22 20:33:45 (22 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/SymbolicRegressionSingleObjectivePearsonRSquaredEvaluator.cs
r17180 r18220 48 48 IEnumerable<int> rows = GenerateRowsToEvaluate(); 49 49 50 double quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, solution, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, ProblemDataParameter.ActualValue, rows, ApplyLinearScalingParameter.ActualValue.Value); 50 double quality = Calculate( 51 solution, ProblemDataParameter.ActualValue, 52 rows, SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 53 ApplyLinearScalingParameter.ActualValue.Value, 54 EstimationLimitsParameter.ActualValue.Lower, 55 EstimationLimitsParameter.ActualValue.Upper); 51 56 QualityParameter.ActualValue = new DoubleValue(quality); 52 57 … … 54 59 } 55 60 56 public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IRegressionProblemData problemData, IEnumerable<int> rows, bool applyLinearScaling) { 57 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 61 public static double Calculate( 62 ISymbolicExpressionTree tree, 63 IRegressionProblemData problemData, 64 IEnumerable<int> rows, 65 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 66 bool applyLinearScaling, 67 double lowerEstimationLimit, 68 double upperEstimationLimit) { 69 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(tree, problemData.Dataset, rows); 58 70 IEnumerable<double> targetValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 59 71 OnlineCalculatorError errorState; … … 78 90 ApplyLinearScalingParameter.ExecutionContext = context; 79 91 80 double r2 = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value); 92 double r2 = Calculate( 93 tree, problemData, rows, 94 SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 95 ApplyLinearScalingParameter.ActualValue.Value, 96 EstimationLimitsParameter.ActualValue.Lower, 97 EstimationLimitsParameter.ActualValue.Upper); 81 98 82 99 SymbolicDataAnalysisTreeInterpreterParameter.ExecutionContext = null; … … 86 103 return r2; 87 104 } 105 106 public override double Evaluate( 107 ISymbolicExpressionTree tree, 108 IRegressionProblemData problemData, 109 IEnumerable<int> rows, 110 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 111 bool applyLinearScaling = true, 112 double lowerEstimationLimit = double.MinValue, 113 double upperEstimationLimit = double.MaxValue) { 114 return Calculate( 115 tree, problemData, rows, 116 interpreter, applyLinearScaling, 117 lowerEstimationLimit, upperEstimationLimit); 118 } 88 119 } 89 120 }
Note: See TracChangeset
for help on using the changeset viewer.