Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/14/20 12:00:47 (5 years ago)
Author:
chaider
Message:

#2971:

  • Added cube, cuberoot, absolute and analytical quotient to IntervalInterpreter
  • Extended the IsCompatible method in IntervalInterpreter (removed power, root because not implemented in DerivativeCalculator
  • Added checks for known symbols at InteractiveSymbolicDataAnalysisSolutionSimplifierView and SymbolicRegressionSolution
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SymbolicRegressionSolution.cs

    r17206 r17509  
    4747    private const string TestNaNEvaluationsResultName = "Test NaN Evaluations";
    4848
    49     private const string IntervalEvaluationResultName = "Interval Evaluation";
     49    private const string ModelBoundsResultName = "Model Bounds";
    5050
    5151    public new ISymbolicRegressionModel Model {
     
    9898    }
    9999
    100     public IntervalCollection IntervalEvaluationCollection {
    101       get { return (IntervalCollection)this[IntervalEvaluationResultName].Value; }
    102       private set { this[IntervalEvaluationResultName].Value = value; }
     100    public IntervalCollection ModelBoundsCollection {
     101      get { return (IntervalCollection)this[ModelBoundsResultName].Value; }
     102      private set { this[ModelBoundsResultName].Value = value; }
    103103    }
    104104
     
    127127      estimationLimitResults.Add(new Result(TestNaNEvaluationsResultName, "", new IntValue()));
    128128      Add(new Result(EstimationLimitsResultsResultName, "Results concerning the estimation limits of symbolic regression solution", estimationLimitResults));
    129       Add(new Result(IntervalEvaluationResultName, "Results concerning the derivation of symbolic regression solution", new IntervalCollection()));
     129      Add(new Result(ModelBoundsResultName, "Results concerning the derivation of symbolic regression solution", new IntervalCollection()));
    130130      RecalculateResults();
    131131    }
     
    147147        estimationLimitResults.Add(new Result(TestNaNEvaluationsResultName, "", new IntValue()));
    148148        Add(new Result(EstimationLimitsResultsResultName, "Results concerning the estimation limits of symbolic regression solution", estimationLimitResults));
    149         Add(new Result(IntervalEvaluationResultName, "Results concerning the derivation of symbolic regression solution", new IntervalCollection()));
     149        CalculateResults();
     150      }
     151
     152      if (!ContainsKey(ModelBoundsResultName)) {
     153        Add(new Result(ModelBoundsResultName, "Results concerning the derivation of symbolic regression solution", new IntervalCollection()));
    150154        CalculateResults();
    151155      }
     
    171175      TestNaNEvaluations = Model.Interpreter.GetSymbolicExpressionTreeValues(Model.SymbolicExpressionTree, ProblemData.Dataset, ProblemData.TestIndices).Count(double.IsNaN);
    172176
    173       IntervalEvaluationCollection = CalculateModelIntervals(this);
     177      //Check if the tree contains unknown symbols for the interval calculation
     178      if (IntervalInterpreter.IsCompatible(Model.SymbolicExpressionTree))
     179        ModelBoundsCollection = CalculateModelIntervals(this);
    174180    }
    175181
Note: See TracChangeset for help on using the changeset viewer.