Opened 9 years ago
Closed 8 years ago
#2597 closed enhancement (done)
Gradient chart view for regression solutions
Reported by: | bburlacu | Owned by: | mkommend |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.14 |
Component: | Algorithms.DataAnalysis.Views | Version: | 3.3.13 |
Keywords: | Cc: |
Description (last modified by pfleck)
As the name suggests, this view contains a chart plotting the gradient of the target variable with respect to a chosen input variable. The user may then vary the input value (by means of mouse interaction with the chart) in order to see how the target response changes.
The gradient chart supports synchronisation of backing data using a shared modifiable dataset, allowing the user to get a complete view of the target variation by arranging side by side multiple charts corresponding to different input variables.
Additional features:
- Responses for variables that are not used in the model should be grayed-out or hidden. Thos, methods for querying the actual used inputs for a regression model are implemented.
- If a model can estimate the variance of a sample (e.g. Gaussian process), the confidence interval should be shown.
Known issues of the RegressionSolutionTargetResponseGradientView:
- Zooming does not realign the density information.
- Resizing with enabled density information will not update the density information and the density chart may be incorrectly aligned with the gradient chart. Re-checking a variable or changing the density combo box fixes this.
- Resizing do not change the height of the GradientCharts, to achieve the default 4/3 width/height-aspect any variable can be re-checked.
- Drag/Drop an additional solution onto a GradientChart does not update all other GradientCharts in the TargetResponseView.
Attachments (1)
Change History (70)
Changed 9 years ago by bburlacu
comment:1 Changed 9 years ago by bburlacu
- Description modified (diff)
- Status changed from new to assigned
comment:2 Changed 9 years ago by bburlacu
- Status changed from assigned to accepted
comment:3 Changed 9 years ago by bburlacu
r13783: Fix text annotations.
comment:4 Changed 9 years ago by bburlacu
r13808: Start implementing table layout panel for gradient charts in a separate view.
comment:5 Changed 9 years ago by pfleck
comment:6 Changed 9 years ago by pfleck
r13812: Added an new View for GaussianProcessSolutions to be able to interactively show the gradients and confidence intervals for user-input ranges.
comment:7 Changed 9 years ago by pfleck
- Fixed typo in class/filename.
- Added new control that shows density information adjacent to the trackbar.
comment:8 Changed 9 years ago by bburlacu
r13817: Added RegressionSolutionTargetResponseGradientView and updated GradientChart.
comment:9 Changed 9 years ago by bburlacu
r13818: Fixed small bug when the values are not correctly rendered in the chart initially. removed unused variable limits from view.
comment:10 Changed 9 years ago by pfleck
r13819 Branched HeuristicLab.Algorithms.DataAnalysis and HeuristicLab.Problems.DataAnalysis.
comment:11 Changed 9 years ago by pfleck
- Description modified (diff)
comment:12 Changed 9 years ago by bburlacu
- Description modified (diff)
r13820: Added flags for controlling the display of legend, axis labels, or vertical cursor on the chart.
comment:13 Changed 9 years ago by pfleck
- Description modified (diff)
- Added new interface IConfidenceBoundRegressionModel and IConfidenceBoundRegressionSolution for regression models/solutions that support confidence information on estimated samples.
- Renamed GetEstimatedVariance to GetEstimatedVariances to be consistent with GetEstimatedValues.
comment:14 Changed 9 years ago by pfleck
- Added new Model property in IConfidenceBoundRegressionSolution.
- Added ConfidenceBoundRegressionSolution base and methods to it from GaussianProcessRegressionSolution.
- Replaced RegressionSolutionGradientView with GaussianProcessRegressionSolutionInteractiveRangeEstimatorView. Also moved DensityTrackbar to Problems.DataAnalysis.Views Plugin.
- DensityTrackbar initial position is now where the density is highest.
comment:15 Changed 9 years ago by bburlacu
r13825: Fix small bug showing the vertical annotation.
comment:16 Changed 9 years ago by bburlacu
r13828: Simplify code and ensure charts are sorted according to the variable order in the list view.
comment:17 Changed 9 years ago by bburlacu
r13829: Speed up response calculation in the GradientChart by using an internal dataset to store variable values.
comment:18 Changed 9 years ago by bburlacu
r13830: Removed unused Configure method in the GradientChart.
comment:19 Changed 9 years ago by pfleck
- merged recent trunk changes for GetUsedVariablesForPrediction method.
- Merged chart from RegressionSolutionGradientView and existing GradientChart.
- Used the GradientChart in the RegressionSolutionGradientView.
comment:20 Changed 9 years ago by pfleck
r13836 Implemented correct coloring when multiple solutions are added for comparison with respect potential overlapping confidence intervals.
comment:21 Changed 9 years ago by pfleck
- Reverted UpdateAutomatically property.
- Made UpdateChart method async to avoid blocking the GUI thread.
- Changed Content type of RegressionSolutionGradientView to IRegressionSolution.
comment:22 Changed 9 years ago by pfleck
r13840 Implemented cancellation of chart update when new update is called during calculation.
comment:23 Changed 9 years ago by pfleck
- Reduced memory consumption greatly by reusing existing datapoints from existing series instead of creating new series on update.
- Rearranged methods and properties in GradientChart.
- Added properties to set fixed axis limits instead of calculation.
comment:24 Changed 9 years ago by pfleck
r13843 Implemented "sync" y-axis for Target Response Gradient View.
comment:25 Changed 9 years ago by pfleck
- All used variables of a model are initially checked when opening the Target Response Gradient View.
- Fixed a bug on axis scaling.
comment:26 Changed 9 years ago by pfleck
- Added a manual y-axis control.
- Fixed bug with dragging the cursor in the GradientChart out of the chart.
comment:27 Changed 9 years ago by pfleck
- Extracted DensityChart from DensityTrackbar.
- Added DensityChart to RegressionSolutionTargetResponseView with different options (none/training/test/all).
- Moved RegressionSolutionGradientView and RegressionSolutionTargetResponseView to subfolder.
comment:28 Changed 9 years ago by pfleck
- Added GradientChartConfigurationDialog to allow setup x/y axis and drawing steps.
- Added "calculating pending"-icon only after 100ms to avoid flickering.
- Fixed some small issues.
comment:29 Changed 9 years ago by pfleck
- Added validation in GradientChartConfigurationDialog and DensityTrackbar.
- Added optional configuration button for GradientChart.
comment:30 Changed 9 years ago by pfleck
- Generalized GaussianProcessRegressionSolution...Views to ConfidenceBasedRegressionSolution...Views.
- Added "all" column for variances.
comment:31 Changed 9 years ago by pfleck
- Description modified (diff)
comment:32 Changed 8 years ago by pfleck
- Made GradientChartConfigurationDialog fixed size.
- Fixed a project reference and disabled copy local.
comment:33 Changed 8 years ago by pfleck
r13859: Forgot committing file.
comment:34 Changed 8 years ago by pfleck
- Owner changed from bburlacu to mkommend
- Status changed from accepted to reviewing
comment:35 Changed 8 years ago by mkommend
- Owner changed from mkommend to pfleck
- Status changed from reviewing to assigned
comment:36 Changed 8 years ago by pfleck
- Merged recent trunk changes.
- Adapted VariablesUsedForPrediction property for RegressionSolutionTargetResponseGradientView.
- Fixed a reference (.dll to project ref).
comment:37 Changed 8 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from assigned to reviewing
comment:38 Changed 8 years ago by bburlacu
- Owner changed from mkommend to bburlacu
- Status changed from reviewing to assigned
comment:39 Changed 8 years ago by bburlacu
r13994: Merged trunk changes.
comment:40 Changed 8 years ago by bburlacu
- Improved drag & drop support for all charts.
- Added configuration option to adjust the number of columns in the view.
- Fixed bug where attempting to set row & column style would result in an exception.
- Fixed boundaries of the vertical annotation line in the GradientChart.
comment:41 Changed 8 years ago by bburlacu
r13996: Removed resx files from project. Better handling of model simplification.
comment:42 Changed 8 years ago by bburlacu
r13999: Fix position of the error provider icon for the validation of the columns textbox. Removed .resx files from project.
comment:43 Changed 8 years ago by bburlacu
r14006: Fixed a couple of bugs in the GradientChart related to the configuration of axis limits.
comment:44 Changed 8 years ago by bburlacu
- Owner changed from bburlacu to mkommend
- Status changed from assigned to reviewing
comment:45 follow-up: ↓ 46 Changed 8 years ago by gkronber
The density plot does not respond to zooming
comment:46 in reply to: ↑ 45 ; follow-up: ↓ 47 Changed 8 years ago by gkronber
Replying to gkronber:
The density plot does not respond to zooming
I think it would be OK to just prevent zooming in these charts.
comment:47 in reply to: ↑ 46 Changed 8 years ago by pfleck
Currently, the gradient and density chart are two separate charts, therefore aligning them is done manual. The problem is that there are no events fired when the zoom/scroll is actually changed.
I would suggest to keep zooming but hiding the density when the user zooms in.
Replying to gkronber:
Replying to gkronber:
The density plot does not respond to zooming
I think it would be OK to just prevent zooming in these charts.
comment:48 Changed 8 years ago by pfleck
- Owner changed from mkommend to pfleck
- Status changed from reviewing to assigned
comment:49 Changed 8 years ago by pfleck
- Hide density chart when zoom is active.
- Changed columns textbox to numberic up/down control (thus removed validation).
comment:50 Changed 8 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from assigned to reviewing
comment:51 Changed 8 years ago by mkommend
- Owner changed from mkommend to pfleck
- Status changed from reviewing to assigned
r14095: Merged all changesets from HeuristiLab.RegressionSolutionGradientView into the trunk.
comment:52 Changed 8 years ago by mkommend
r14096: Adapted unit test to changes in gaussian process model.
comment:53 Changed 8 years ago by pfleck
- Status changed from assigned to accepted
comment:54 Changed 8 years ago by mkommend
r14098: Corrected plugin dependencies of Algorithms.DataAnalysis.Views.
comment:55 Changed 8 years ago by pfleck
- Renamed IConfidenceBoundRegressionModel/Solution+Views to IConfidenceRegressionModel/Solution.
- Moved IConfidenceRegressionModel and IConfidenceRegressionSolution into own files.
- Moved (helper) controls into separate sub folder.
- Fixed typo.
comment:56 Changed 8 years ago by pfleck
- Fixed issue with automatic movement of the cursor in some cases (missing position changed event).
- Disable the whole GradientChartConfigurationDialog during chart recalculation after pressing apply.
comment:57 Changed 8 years ago by pfleck
r14119 deleted branch
comment:58 Changed 8 years ago by pfleck
- Owner changed from pfleck to mkommend
- Status changed from accepted to reviewing
comment:59 Changed 8 years ago by mkommend
comment:60 Changed 8 years ago by pfleck
- Moved variable name + cursor value to the top.
- Fixed some warnings (missing async await).
comment:61 Changed 8 years ago by mkommend
- Status changed from reviewing to readytorelease
This ticket depends on #2594 which must be merged to stable in advance.
comment:63 Changed 8 years ago by pfleck
r14158 Fixed an issue with wrongly positioned title and density chart after initialization.
comment:64 Changed 8 years ago by bburlacu
r14157: Avoid calling CalculateAxesInterval when the interval is invalid.
comment:65 Changed 8 years ago by mkommend
comment:66 follow-up: ↓ 67 Changed 8 years ago by gkronber
comment:67 in reply to: ↑ 66 Changed 8 years ago by mkommend
comment:68 Changed 8 years ago by mkommend
r14175: Deleted StudentTProcessModel.cs from the trunk.
comment:69 Changed 8 years ago by mkommend
comment:70 Changed 8 years ago by mkommend
- Resolution set to done
- Status changed from readytorelease to closed
r13780: Initial commit implementing gradient view and chart.