- Timestamp:
- 11/19/15 14:15:19 (9 years ago)
- Location:
- trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/PearsonRSquaredNestedTreeSizeEvaluator.cs
r13241 r13300 44 44 public PearsonRSquaredNestedTreeSizeEvaluator() : base() { } 45 45 46 public override IEnumerable<bool> Maximization { get { return new bool[2] { true, false }; } } 46 public override IEnumerable<bool> Maximization { get { return new bool[2] { true, false }; } } // maximize R² & minimize nested tree size 47 47 48 48 public override IOperation InstrumentedApply() { … … 67 67 if (decimalPlaces >= 0) 68 68 r2 = Math.Round(r2, decimalPlaces); 69 return new double[2] { r2, solution.IterateNodesPostfix().Sum(n => n.GetLength()) }; 69 return new double[2] { r2, solution.IterateNodesPostfix().Sum(n => n.GetLength()) }; // sum of the length of the whole sub-tree for each node 70 70 } 71 71 … … 74 74 EstimationLimitsParameter.ExecutionContext = context; 75 75 ApplyLinearScalingParameter.ExecutionContext = context; 76 // DecimalPlaces parameter is a FixedValueParameter and doesn't need the context. 76 77 77 double[] quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value, DecimalPlaces); 78 double[] quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value, DecimalPlaces); 78 79 79 80 SymbolicDataAnalysisTreeInterpreterParameter.ExecutionContext = null; -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/PearsonRSquaredNumberOfVariablesEvaluator.cs
r13241 r13300 44 44 public PearsonRSquaredNumberOfVariablesEvaluator() : base() { } 45 45 46 public override IEnumerable<bool> Maximization { get { return new bool[2] { true, false }; } } 46 public override IEnumerable<bool> Maximization { get { return new bool[2] { true, false }; } } // maximize R² and minimize the number of variables 47 47 48 48 public override IOperation InstrumentedApply() { … … 66 66 if (decimalPlaces >= 0) 67 67 r2 = Math.Round(r2, decimalPlaces); 68 return new double[2] { r2, solution.IterateNodesPostfix().OfType<VariableTreeNode>().Count() }; 68 return new double[2] { r2, solution.IterateNodesPostfix().OfType<VariableTreeNode>().Count() }; // count the number of variables 69 69 } 70 70 … … 73 73 EstimationLimitsParameter.ExecutionContext = context; 74 74 ApplyLinearScalingParameter.ExecutionContext = context; 75 // DecimalPlaces parameter is a FixedValueParameter and doesn't need the context. 75 76 76 77 double[] quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value, DecimalPlaces); -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/PearsonRSquaredTreeComplexityEvaluator.cs
r13241 r13300 43 43 public PearsonRSquaredTreeComplexityEvaluator() : base() { } 44 44 45 public override IEnumerable<bool> Maximization { get { return new bool[2] { true, false }; } } 45 public override IEnumerable<bool> Maximization { get { return new bool[2] { true, false }; } } // maximize R² and minimize model complexity 46 46 47 47 public override IOperation InstrumentedApply() { … … 72 72 EstimationLimitsParameter.ExecutionContext = context; 73 73 ApplyLinearScalingParameter.ExecutionContext = context; 74 // DecimalPlaces parameter is a FixedValueParameter and doesn't need the context. 74 75 75 76 double[] quality = Calculate(SymbolicDataAnalysisTreeInterpreterParameter.ActualValue, tree, EstimationLimitsParameter.ActualValue.Lower, EstimationLimitsParameter.ActualValue.Upper, problemData, rows, ApplyLinearScalingParameter.ActualValue.Value, DecimalPlaces); -
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionConstantOptimizationEvaluator.cs
r12509 r13300 164 164 165 165 166 // TODO: swap positions of lowerEstimationLimit and upperEstimationLimit parameters 166 167 public static double OptimizeConstants(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree tree, IRegressionProblemData problemData, 167 168 IEnumerable<int> rows, bool applyLinearScaling, int maxIterations, double upperEstimationLimit = double.MaxValue, double lowerEstimationLimit = double.MinValue, bool updateConstantsInTree = true) {
Note: See TracChangeset
for help on using the changeset viewer.