Opened 11 months ago

Closed 3 months ago

#2690 closed feature request (done)

Implement views for decision tree models (random forest and gradient boosted trees)

Reported by: gkronber Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.15
Component: Algorithms.DataAnalysis.Views Version: 3.3.14
Keywords: Cc:

Description

It would be nice if we could inspect decision tree models

Change History (21)

comment:1 Changed 11 months ago by gkronber

  • Status changed from new to accepted

comment:2 Changed 11 months ago by gkronber

r14345: implemented methods to generate symbolic expression tree solutions for decision tree models (random forest and gradient boosted) as well as views which make it possible to inspect each of the individual trees in a GBT and RF solution

comment:3 Changed 11 months ago by gkronber

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

comment:4 Changed 11 months ago by gkronber

r14346: removed unnecessary plugin dependency

Last edited 11 months ago by gkronber (previous) (diff)

comment:5 follow-up: Changed 11 months ago by mkommend

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

Bug: At least RF models are not stored directly, but rather recreated when necessary. However the new model view does not trigger this recreation and throws an out-of-bounds exception if a deserialized model is displayed.

comment:6 in reply to: ↑ 5 Changed 11 months ago by gkronber

Replying to mkommend:

Bug: At least RF models are not stored directly, but rather recreated when necessary. However the new model view does not trigger this recreation and throws an out-of-bounds exception if a deserialized model is displayed.

Thanks. Should be fixed with r14368.

comment:7 Changed 11 months ago by gkronber

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

comment:8 follow-up: Changed 10 months ago by mkommend

Review comments:

  • Double click in the list view does not open the symbolic regression solution. (added with r15103)
  • The model view is the last entry in the solution view.
  • Why are evaluation views misused to display the individual trees. Would not it be possible to create a view for IRandomForestModel / GBTModel? (gkronber: model views have been introduced with r15105:15106 and r15123:15124 additionally to model evaluation views)
  • Why are GBTSolutionView and RF Regression/Classifation View necessary? Only to remove the menu entry? (gkronber: solution views have been removed with r15105:15106 and r15123:15124)
  • Excel format for the symbolic models does not work correctly. There is no infinity symbol in excel and additionally 1/(1+EXP(-Infinity * ($D1-44)) is not easy to interpret correctly. Especially for RF where ignoreSlope == true a standard if-condition should be exported. (fixed with r15104)
  • Depending on whether ignoreSlope is set the condition is negated (> changes to <).
  • Slope of +/- infinity has the same meaning as ignoreSlope=true and not slope == 0 (VariableConditionTreeNode.ToString).
  • VariableConditionView should show the ignoreSlope flag
  • IMHO IgnoreSlope should be the default for variable condition symbols.

gkronber: After discussion we decided it would be best to introduce a new type of symbol especially for this (split var <= threshold). This also means that we need to extend interpreters and formatters to support this symbol.

Last edited 3 months ago by gkronber (previous) (diff)

comment:9 Changed 9 months ago by mkommend

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

comment:10 Changed 6 months ago by mkommend

r14839: Adapated content attribute of solution views for GBT and RF.

This change has been necessary to show the solution name text box from the NamedDataAnalysisSolutionView.

comment:11 Changed 3 months ago by gkronber

r15103: added event-handler for double click events to open the clicked model in a new view

comment:12 Changed 3 months ago by gkronber

r15104: changed Excel-formatter for VariableCondition symbols to produce a correct output also for GBT and RF models

comment:13 in reply to: ↑ 8 Changed 3 months ago by gkronber

Replying to mkommend:

Review comments:

  • The model view is the last entry in the solution view.
  • Why are evaluation views misused to display the individual trees. Would not it be possible to create a view for IRandomForestModel / GBTModel?

This is not possible as the views for the individual trees need the problem data to calculate the results for the indiviual trees. However it would be possible to provide both views. Whereas, the model view only shows the trees and the other view is renamed.

  • Why are GBTSolutionView and RF Regression/Classifation View necessary? Only to remove the menu entry?

Yes, but probably not anymore if we keep both entries.

comment:14 Changed 3 months ago by gkronber

r15105:15106: added a model view for GBT models and renamed the existing evaluation view accordingly. Deleted GBT solution view because it is not necessary anymore.

Last edited 3 months ago by gkronber (previous) (diff)

comment:15 Changed 3 months ago by gkronber

r15123 renamed RandomForestModelView -> RandomForestModelEvaluationView

comment:16 Changed 3 months ago by gkronber

r15124: removed solution views for RFRegression and RFClassification. Added model view for IRandomForestModels

comment:17 Changed 3 months ago by gkronber

r15127: merged r14345, r14346, r14368 from trunk to stable (only partially merged to stable!)

Remaining changesets should be merged after r14826 in #2650.

Last edited 3 months ago by gkronber (previous) (diff)

comment:18 Changed 3 months ago by gkronber

  • Status changed from assigned to accepted

comment:19 Changed 3 months ago by gkronber

  • Status changed from accepted to readytorelease

comment:20 Changed 3 months ago by gkronber

r15134: merged r14839,r15103:15106,r15123,r15124 from trunk to stable (all changesets merged)

comment:21 Changed 3 months ago by gkronber

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