Opened 10 years ago

Closed 10 years ago

#1352 closed defect (done)

NullReferenceException in SymbolicRegressionScaledMeanSquaredErrorEvaluator

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.3
Component: ZZZ OBSOLETE: Problems.DataAnalysis.Regression Version: 3.3.3
Keywords: Cc:

Description (last modified by swagner)

This also affects SymbolicRegressionScaledMeanAndVarianceSquaredErrorEvaluator.

OperatorExecutionException: An exception was thrown by the operator
"FixedValidationBestScaledSymbolicRegressionSolutionAnalyzer": Object reference not set to an instance of an object.

-----
NullReferenceException: Object reference not set to an instance of an object.
    at HeuristicLab.Parameters.LookupParameter`1.LookupVariable(String name)
    at HeuristicLab.Parameters.LookupParameter`1.GetActualValue()
    at HeuristicLab.Parameters.LookupParameter`1.get_ActualValue()
    at
HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.SymbolicRegressionScaledMeanAndVarianceSquaredErrorEvaluator.Evaluate(ISymbolicExpressionTreeInterpreter
interpreter, SymbolicExpressionTree solution, Double lowerEstimationLimit, Double upperEstimationLimit, Dataset dataset, String targetVariable, IEnumerable`1 rows)
    at
HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Analyzers.FixedValidationBestScaledSymbolicRegressionSolutionAnalyzer.Apply()
    at HeuristicLab.Operators.Operator.Execute(IExecutionContext context)
    at HeuristicLab.SequentialEngine.SequentialEngine.ProcessNextOperation()


--------------------------------------------------------------------------

OperatorExecutionException: An exception was thrown by the operator
"FixedValidationBestScaledSymbolicRegressionSolutionAnalyzer": Object reference not set to an instance of an object.

-----
NullReferenceException: Object reference not set to an instance of an object.
    at HeuristicLab.Parameters.LookupParameter`1.LookupVariable(String name)
    at HeuristicLab.Parameters.LookupParameter`1.SetActualValue(IItem value)
    at HeuristicLab.Parameters.LookupParameter`1.set_ActualValue(T value)
    at
HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.SymbolicRegressionScaledMeanSquaredErrorEvaluator.Evaluate(ISymbolicExpressionTreeInterpreter
interpreter, SymbolicExpressionTree solution, Double lowerEstimationLimit, Double upperEstimationLimit, Dataset dataset, String targetVariable, IEnumerable`1 rows)
    at
HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Analyzers.FixedValidationBestScaledSymbolicRegressionSolutionAnalyzer.Apply()
    at HeuristicLab.Operators.Operator.Execute(IExecutionContext context)
    at HeuristicLab.SequentialEngine.SequentialEngine.ProcessNextOperation()

Change History (6)

comment:1 Changed 10 years ago by mkommend

  • Owner changed from gkronber to mkommend
  • Status changed from new to accepted

comment:2 Changed 10 years ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from accepted to reviewing

Added check for ExecutionContext in scaled evaluators with r5169.

comment:3 Changed 10 years ago by swagner

  • Description modified (diff)
  • Milestone changed from HeuristicLab x.x.x to HeuristicLab 3.3.3
  • Status changed from reviewing to assigned

comment:4 Changed 10 years ago by gkronber

  • Status changed from assigned to reviewing

Reviewed changeset r5169. Checking if the ExecutionContext is set before writing parameter values definitely works even though it is a bit awkward. These two operators should not be used anymore because they have been superseded by evaluation based on the squared correlation coefficient and it is likely that these two classes will be removed in the planned refactoring of the data-analysis plugins.

As the bug has been fixed successfully with r5169 I set the status ticket to ready to release. The issue should be reconsidered in the refactoring phase of the data-analysis plugins.

comment:5 Changed 10 years ago by gkronber

  • Status changed from reviewing to readytorelease

comment:6 Changed 10 years ago by mkommend

  • Resolution set to done
  • Status changed from readytorelease to closed
  • Version changed from 3.3.2 to 3.3.3
Note: See TracTickets for help on using tickets.