Changeset 18220 for trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionLogResidualEvaluator.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/SymbolicRegressionLogResidualEvaluator.cs
r17180 r18220 54 54 55 55 public override IOperation InstrumentedApply() { 56 var solution= SymbolicExpressionTreeParameter.ActualValue;56 var tree = SymbolicExpressionTreeParameter.ActualValue; 57 57 IEnumerable<int> rows = GenerateRowsToEvaluate(); 58 58 59 double quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, solution, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, ProblemDataParameter.ActualValue, rows); 59 double quality = Calculate( 60 tree, ProblemDataParameter.ActualValue, 61 rows, SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 62 EstimationLimitsParameter.ActualValue.Lower, 63 EstimationLimitsParameter.ActualValue.Upper); 60 64 QualityParameter.ActualValue = new DoubleValue(quality); 61 65 … … 63 67 } 64 68 65 public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, double lowerEstimationLimit, double upperEstimationLimit, IRegressionProblemData problemData, IEnumerable<int> rows) { 66 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(solution, problemData.Dataset, rows); 69 public static double Calculate( 70 ISymbolicExpressionTree tree, 71 IRegressionProblemData problemData, 72 IEnumerable<int> rows, 73 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 74 double lowerEstimationLimit, 75 double upperEstimationLimit) { 76 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(tree, problemData.Dataset, rows); 67 77 IEnumerable<double> targetValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 68 78 IEnumerable<double> boundedEstimatedValues = estimatedValues.LimitToRange(lowerEstimationLimit, upperEstimationLimit); … … 83 93 EstimationLimitsParameter.ExecutionContext = context; 84 94 85 double mlr = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows); 95 double mlr = Calculate( 96 tree, problemData, rows, 97 SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 98 EstimationLimitsParameter.ActualValue.Lower, 99 EstimationLimitsParameter.ActualValue.Upper); 86 100 87 101 SymbolicDataAnalysisTreeInterpreterParameter.ExecutionContext = null; … … 90 104 return mlr; 91 105 } 106 107 public override double Evaluate( 108 ISymbolicExpressionTree tree, 109 IRegressionProblemData problemData, 110 IEnumerable<int> rows, 111 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 112 bool applyLinearScaling = true, 113 double lowerEstimationLimit = double.MinValue, 114 double upperEstimationLimit = double.MaxValue) { 115 return Calculate(tree, problemData, rows, interpreter, lowerEstimationLimit, upperEstimationLimit); 116 } 92 117 } 93 118 }
Note: See TracChangeset
for help on using the changeset viewer.