Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/01/21 13:40:55 (2 years ago)
Author:
chaider
Message:

#3140

  • some more refactoring
  • added possibility to set value of num nodes in infix parser
  • changed displaying style of number
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3140_NumberSymbol/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/SymbolicRegressionConstantOptimizationEvaluator.cs

    r18093 r18100  
    3232
    3333namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression {
    34   [Item("Num Optimization Evaluator", "Calculates Pearson R² of a symbolic regression solution and optimizes the constant used.")]
     34  [Item("Constant Optimization Evaluator", "Calculates Pearson R² of a symbolic regression solution and optimizes the constant used.")]
    3535  [StorableType("24B68851-036D-4446-BD6F-3823E9028FF4")]
    3636  public class SymbolicRegressionConstantOptimizationEvaluator : SymbolicRegressionSingleObjectiveEvaluator {
     
    307307      int i = 0;
    308308      foreach (var node in tree.Root.IterateNodesPrefix().OfType<SymbolicExpressionTreeTerminalNode>()) {
    309         NumTreeNode numTreeNode = node as NumTreeNode;
     309        NumberTreeNode numberTreeNode = node as NumberTreeNode;
    310310        VariableTreeNodeBase variableTreeNodeBase = node as VariableTreeNodeBase;
    311311        FactorVariableTreeNode factorVarTreeNode = node as FactorVariableTreeNode;
    312         if (numTreeNode != null) {
    313           if (numTreeNode.Parent.Symbol is Power
    314               && numTreeNode.Parent.GetSubtree(1) == numTreeNode) continue; // exponents in powers are not optimizated (see TreeToAutoDiffTermConverter)
    315           numTreeNode.Value = constants[i++];
     312        if (numberTreeNode != null) {
     313          if (numberTreeNode.Parent.Symbol is Power
     314              && numberTreeNode.Parent.GetSubtree(1) == numberTreeNode) continue; // exponents in powers are not optimizated (see TreeToAutoDiffTermConverter)
     315          numberTreeNode.Value = constants[i++];
    316316        } else if (updateVariableWeights && variableTreeNodeBase != null)
    317317          variableTreeNodeBase.Weight = constants[i++];
Note: See TracChangeset for help on using the changeset viewer.