Opened 5 years ago

Closed 5 years ago

#1823 closed feature request (done)

Symbolic data analysis analyzer that collects the Pareto-optimal solutions regarding complexity and accuracy

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.7
Component: Problems.DataAnalysis.Symbolic Version: 3.3.7
Keywords: Cc:

Description


Change History (17)

comment:1 Changed 5 years ago by gkronber

  • Status changed from new to accepted

comment:2 Changed 5 years ago by gkronber

r7726:

  • added analyzer that calculates the complexity of symbolic data analysis trees (weighted symbols)
  • added analyzer that collects the Pareto-optimal solutions regarding complexity and accuracy

comment:3 Changed 5 years ago by gkronber

r7734: implemented analyzers to collect Pareto-best solutions on validation and fitness calculation partitions for regression and classification.

comment:4 Changed 5 years ago by gkronber

r7739: set complexity analyzer for symbolic data analysis solutions to disabled by default

comment:5 Changed 5 years ago by swinkler

When using a SingleObjectiveTrainingParetoBestSolutionAnalyzer (in r7967) an exception occurs:

An exception was thrown by the operator "SymbolicClassificationSingleObjectiveTrainingParetoBestSolutionAnalyzer": Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

Last edited 5 years ago by swinkler (previous) (diff)

comment:6 Changed 5 years ago by gkronber

r8126:

  • fixed the bug in the Pareto-best solution analyzers for symbolic data analysis (as reported in comment:5).
  • fixed a minor bug in the calculation of classification thresholds
  • made a sneaky change in SymbolicExpressionTree

comment:7 Changed 5 years ago by gkronber

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

comment:8 Changed 5 years ago by gkronber

r8130: added AfterDeserialization hook to add the new analyzers when loading old problems.

comment:9 Changed 5 years ago by mkommend

reviewing comments:

  • I would move the problem data parameter one level up to SymbolicDataAnalysisSingleObjectiveTrainingParetoBestSolutionAnalyzer instead of adding it for both classification and regression parameters.
  • The same holds for the interpreter parameter.
  • IMHO the solution in the ComplexityAnalyzer to get the default weights is not optimal, because it has to be updated for every new symbol, it doesn't work if a symbol name is changed in the grammar editor and the dictionary is created for every execution of the analyzer.

comment:10 Changed 5 years ago by mkommend

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

comment:11 Changed 5 years ago by gkronber

You are right about the ComplexityAnalyser it is not ready for release yet. Since we do not necessarily need it I'm going to remove it.

Last edited 5 years ago by gkronber (previous) (diff)

comment:12 Changed 5 years ago by gkronber

r8168: removed the ComplexityAnalyzer

comment:13 Changed 5 years ago by gkronber

you are right it's better to move the parameters up in the class hierarchy.

r8169: moved parameters up into the base classes of ParetoBestSolutionAnalyzers

comment:14 Changed 5 years ago by gkronber

  • Status changed from assigned to reviewing

comment:15 Changed 5 years ago by gkronber

  • Owner changed from gkronber to mkommend

comment:16 Changed 5 years ago by mkommend

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

Reviewed r8168 and r8169.

comment:17 Changed 5 years ago by gkronber

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