Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/01/21 13:40:55 (3 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
Location:
branches/3140_NumberSymbol/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/3140_NumberSymbol/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/MultiObjective/NMSEMultiObjectiveConstraintsEvaluator.cs

    r17958 r18100  
    123123          if (errorState == OnlineCalculatorError.None) {
    124124            //Set alpha and beta to the scaling nodes from ia grammar
    125             var offsetParameter = offset.GetSubtree(1) as ConstantTreeNode;
     125            var offsetParameter = offset.GetSubtree(1) as NumberTreeNode;
    126126            offsetParameter.Value = alpha;
    127             var scalingParameter = scaling.GetSubtree(1) as ConstantTreeNode;
     127            var scalingParameter = scaling.GetSubtree(1) as NumberTreeNode;
    128128            scalingParameter.Value = beta;
    129129          }
  • branches/3140_NumberSymbol/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/NMSESingleObjectiveConstraintsEvaluator.cs

    r18093 r18100  
    155155          if (errorState == OnlineCalculatorError.None) {
    156156            //Set alpha and beta to the scaling nodes from ia grammar
    157             var offsetParameter = offset.GetSubtree(1) as NumTreeNode;
     157            var offsetParameter = offset.GetSubtree(1) as NumberTreeNode;
    158158            offsetParameter.Value = alpha;
    159             var scalingParameter = scaling.GetSubtree(1) as NumTreeNode;
     159            var scalingParameter = scaling.GetSubtree(1) as NumberTreeNode;
    160160            scalingParameter.Value = beta;
    161161          }
  • 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++];
  • branches/3140_NumberSymbol/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionPruningOperator.cs

    r17180 r18100  
    9191      for (int i = 0; i < nodes.Count; ++i) {
    9292        var node = nodes[i];
    93         if (node is ConstantTreeNode) continue;
     93        if (node is NumberTreeNode) continue;
    9494
    9595        double impactValue, replacementValue;
     
    100100        if (!pruneOnlyZeroImpactNodes && impactValue > nodeImpactThreshold) continue;
    101101
    102         var constantNode = (ConstantTreeNode)node.Grammar.GetSymbol("Constant").CreateTreeNode();
     102        var constantNode = (NumberTreeNode)node.Grammar.GetSymbol("Number").CreateTreeNode();
    103103        constantNode.Value = replacementValue;
    104104
Note: See TracChangeset for help on using the changeset viewer.