Skip to content

Commit

Permalink
Merge pull request #4138 from janezd/list-and-roc-contexts
Browse files Browse the repository at this point in the history
[FIX] ROC and LiftCurve: Store context settings
  • Loading branch information
ajdapretnar authored Nov 8, 2019
2 parents e5d55d8 + e4b85e2 commit 69454c8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
10 changes: 8 additions & 2 deletions Orange/widgets/evaluate/owliftcurve.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

import Orange
from Orange.widgets import widget, gui, settings
from Orange.widgets.evaluate.contexthandlers import \
EvaluationResultsContextHandler
from Orange.widgets.evaluate.utils import check_results_adequacy
from Orange.widgets.utils import colorpalette, colorbrewer
from Orange.widgets.evaluate.owrocanalysis import convex_hull
Expand Down Expand Up @@ -64,8 +66,9 @@ class OWLiftCurve(widget.OWWidget):
class Inputs:
evaluation_results = Input("Evaluation Results", Orange.evaluation.Results)

target_index = settings.Setting(0)
selected_classifiers = settings.Setting([])
settingsHandler = EvaluationResultsContextHandler()
target_index = settings.ContextSetting(0)
selected_classifiers = settings.ContextSetting([])

display_convex_hull = settings.Setting(False)
display_cost_func = settings.Setting(True)
Expand Down Expand Up @@ -133,10 +136,13 @@ def __init__(self):
@Inputs.evaluation_results
def set_results(self, results):
"""Set the input evaluation results."""
self.closeContext()
self.clear()
self.results = check_results_adequacy(results, self.Error)
if self.results is not None:
self._initialize(results)
self.openContext(self.results.domain.class_var,
self.classifier_names)
self._setup_plot()

def clear(self):
Expand Down
10 changes: 8 additions & 2 deletions Orange/widgets/evaluate/owrocanalysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

import Orange
from Orange.widgets import widget, gui, settings
from Orange.widgets.evaluate.contexthandlers import \
EvaluationResultsContextHandler
from Orange.widgets.evaluate.utils import \
check_results_adequacy, results_for_preview
from Orange.widgets.utils import colorpalette, colorbrewer
Expand Down Expand Up @@ -303,8 +305,9 @@ class OWROCAnalysis(widget.OWWidget):
class Inputs:
evaluation_results = Input("Evaluation Results", Orange.evaluation.Results)

target_index = settings.Setting(0)
selected_classifiers = []
settingsHandler = EvaluationResultsContextHandler()
target_index = settings.ContextSetting(0)
selected_classifiers = settings.ContextSetting([])

display_perf_line = settings.Setting(True)
display_def_threshold = settings.Setting(True)
Expand Down Expand Up @@ -423,10 +426,13 @@ def __init__(self):
@Inputs.evaluation_results
def set_results(self, results):
"""Set the input evaluation results."""
self.closeContext()
self.clear()
self.results = check_results_adequacy(results, self.Error)
if self.results is not None:
self._initialize(self.results)
self.openContext(self.results.domain.class_var,
self.classifier_names)
self._setup_plot()
else:
self.warning()
Expand Down

0 comments on commit 69454c8

Please sign in to comment.