Changeset 7976:bcb09051c1f9 in orange


Ignore:
Timestamp:
06/03/11 12:49:59 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
7888f92fc122102112c97f6f42004840921a67d2
Message:

Group learner exceptions and show them all.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Evaluate/OWTestLearners.py

    r7785 r7976  
    135135        self.testDataBtn = self.sBtns.buttons[-1] 
    136136        self.testDataBtn.setDisabled(True) 
    137  
    138 #        box = OWGUI.widgetBox(self.sBtns, orientation='vertical', addSpace=False) 
    139 #        OWGUI.separator(box) 
     137         
    140138        OWGUI.separator(self.sBtns) 
    141139        OWGUI.checkBox(self.sBtns, self, 'applyOnAnyChange', 
     
    148146            self.resampling = 3 
    149147 
    150 #        OWGUI.separator(self.controlArea) 
    151  
    152148        # statistics 
    153149        self.statLayout = QStackedLayout() 
    154 #        self.cbox = OWGUI.widgetBox(self.controlArea, spacing=8, margin=0) 
    155 #        self.cbox.layout().setSpacing(8) 
    156150        self.cbox = OWGUI.widgetBox(self.controlArea, addToLayout=False) 
    157151        self.cStatLabels = [s.name for s in self.cStatistics] 
     
    160154                                     selectionMode = QListWidget.MultiSelection, 
    161155                                     callback=self.newscoreselection) 
    162 #        OWGUI.separator(self.cbox) 
     156         
    163157        self.cbox.layout().addSpacing(8) 
    164158        self.targetCombo = OWGUI.comboBox(self.cbox, self, "targetClass", orientation=0, 
     
    177171         
    178172        self.statLayout.setCurrentWidget(self.cbox) 
    179          
    180 #        self.rstatLB.box.hide() 
    181  
    182173 
    183174        # score table 
     
    185176        self.g = OWGUI.widgetBox(self.mainArea, 'Evaluation Results') 
    186177        self.tab = OWGUI.table(self.g, selectionMode = QTableWidget.NoSelection) 
    187  
    188         #self.lab = QLabel(self.g) 
    189178 
    190179        self.resize(680,470) 
     
    230219            if i not in usestat: 
    231220                self.tab.hideColumn(i+1) 
    232  
    233221 
    234222    def sendReport(self): 
     
    277265        indices = orange.MakeRandomIndices2(p0=min(n, len(self.data)), stratified=orange.MakeRandomIndices2.StratifiedIfPossible) 
    278266        new = self.data.selectref(indices(self.data)) 
    279 #        new = self.data.selectref([1]*min(n, len(self.data)) + 
    280 #                                  [0]*(len(self.data) - min(n, len(self.data)))) 
     267         
    281268        self.warning(0) 
     269        learner_exceptions = [] 
    282270        for l in [self.learners[id] for id in ids]: 
    283271            learner = l.learner 
     
    291279                    l.scores = [] 
    292280            except Exception, ex: 
    293                 self.warning(0, "Learner %s ends with exception: %s" % (l.name, str(ex))) 
     281                learner_exceptions.append((l, ex)) 
    294282                l.scores = [] 
    295283 
     284        if learner_exceptions: 
     285            text = "\n".join("Learner %s ends with exception: %s" % (l.name, str(ex)) \ 
     286                             for l, ex in learner_exceptions) 
     287            self.warning(0, text) 
     288             
    296289        if not learners: 
    297290            return 
     
    345338            try: 
    346339                scores.append(eval("orngStat." + s.f)) 
    347                  
    348340            except Exception, ex: 
    349341                self.error(i, "An error occurred while evaluating orngStat." + s.f + "on %s due to %s" % \ 
     
    385377            self.data = orange.Filter_hasClassValue(self.data) 
    386378            self.statLayout.setCurrentWidget(self.cbox if self.isclassification() else self.rbox) 
    387 #            if self.isclassification(): 
    388 #                self.rstatLB.box.hide() 
    389 #                self.cbox.show() 
    390 #            else: 
    391 #                self.cbox.hide() 
    392 #                self.rstatLB.box.show() 
     379             
    393380            self.stat = [self.rStatistics, self.cStatistics][self.isclassification()] 
    394381             
Note: See TracChangeset for help on using the changeset viewer.