Changeset 18220 for trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionSingleObjectiveMeanSquaredErrorEvaluator.cs
- Timestamp:
- 02/24/22 20:33:45 (2 years 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/SymbolicRegressionSingleObjectiveMeanSquaredErrorEvaluator.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( 49 tree, ProblemDataParameter.ActualValue, 50 rows, 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, double upperEstimationLimit) { 66 IEnumerable<double> estimatedValues = interpreter.GetSymbolicExpressionTreeValues(tree, problemData.Dataset, rows); 56 67 IEnumerable<double> targetValues = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 57 68 OnlineCalculatorError errorState; … … 76 87 ApplyLinearScalingParameter.ExecutionContext = context; 77 88 78 double mse = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value); 89 double mse = Calculate( 90 tree, problemData, rows, 91 SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, 92 ApplyLinearScalingParameter.ActualValue.Value, 93 EstimationLimitsParameter.ActualValue.Lower, 94 EstimationLimitsParameter.ActualValue.Upper); 79 95 80 96 SymbolicDataAnalysisTreeInterpreterParameter.ExecutionContext = null; … … 84 100 return mse; 85 101 } 102 103 public override double Evaluate( 104 ISymbolicExpressionTree tree, 105 IRegressionProblemData problemData, 106 IEnumerable<int> rows, 107 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 108 bool applyLinearScaling = true, 109 double lowerEstimationLimit = double.MinValue, 110 double upperEstimationLimit = double.MaxValue) { 111 return Calculate(tree, problemData, rows, interpreter, applyLinearScaling, lowerEstimationLimit, upperEstimationLimit); 112 } 86 113 } 87 114 }
Note: See TracChangeset
for help on using the changeset viewer.