Changeset 9427:0136f96957d3 in orange


Ignore:
Timestamp:
12/29/11 13:36:11 (2 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
3f9bf7b443ce746ac470e11495eab3b195391165
Message:

Using SimpleTreeLearner in RandomForest (Regression) widgets.
Removed 'Chosen tree' output.
Moved a copy of the old widget to Prototypes/OWRandomForestOld.py.

Location:
orange/OrangeWidgets
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Classify/OWRandomForest.py

    r8042 r9427  
    1414 
    1515class OWRandomForest(OWWidget): 
    16     settingsList = ["name", "trees", "attributes", "attributesP", "preNodeInst", "preNodeInstP", "limitDepth", "limitDepthP", "rseed", "outtree" ] 
     16    settingsList = ["name", "trees", "attributes", "attributesP", "preNodeInst", "preNodeInstP", "limitDepth", "limitDepthP", "rseed"] 
    1717 
    1818    def __init__(self, parent=None, signalManager = None, name='Random Forest'): 
    1919        OWWidget.__init__(self, parent, signalManager, name, wantMainArea=False, resizingEnabled=False) 
    2020 
    21         self.inputs = [("Examples", ExampleTable, self.setData), ("Preprocess", PreprocessedLearner, self.setPreprocessor)] 
    22         self.outputs = [("Learner", orange.Learner),("Random Forest Classifier", orange.Classifier),("Choosen Tree", orange.TreeClassifier) ] 
     21        self.inputs = [("Examples", ExampleTable, self.setData), 
     22                       ("Preprocess", PreprocessedLearner, self.setPreprocessor)] 
     23         
     24        self.outputs = [("Learner", orange.Learner), 
     25                        ("Random Forest Classifier", orange.Classifier)] 
    2326 
    2427        self.name = 'Random Forest' 
     
    3134        self.limitDepthP = 3 
    3235        self.rseed = 0 
    33         self.outtree = 0 
    3436 
    3537        self.maxTrees = 10000 
     
    5961        OWGUI.separator(self.controlArea) 
    6062 
    61         #self.sBox = QVGroupBox(self.controlArea) 
    62         #self.sBox.setTitle('Single Tree Output') 
    63  
    64         self.streesBox = OWGUI.spin(self.controlArea, self, "outtree", -1, self.maxTrees, orientation="horizontal", label="Index of tree on the output", callback=[self.period, self.extree]) 
    65         #self.streesBox.setDisabled(True) 
    66         self.streeEnabled(False) 
    67  
    6863        OWGUI.separator(self.controlArea) 
    6964 
     
    8378                           ]) 
    8479        self.reportData(self.data) 
    85          
    86     def period(self): 
    87         if self.outtree == -1: self.outtree = self.claTrees-1 
    88         elif self.outtree >= self.claTrees: self.outtree = 0 
    89  
    90     def extree(self): 
    91         self.send("Choosen Tree", self.classifier.classifiers[self.outtree]) 
    92  
    93     def streeEnabled(self, status): 
    94         if status: 
    95             self.claTrees = self.trees 
    96             self.streesBox.setDisabled(False) 
    97             self.period() 
    98             self.extree() 
    99         else: 
    100             #a = 1 
    101             self.streesBox.setDisabled(True) 
    10280 
    10381    def constructLearner(self): 
     
    10886            attrs = self.attributesP 
    10987 
    110         smallLearner = orngTree.TreeLearner() 
     88        from Orange.classification.tree import SimpleTreeLearner 
     89         
     90        smallLearner = SimpleTreeLearner() 
    11191 
    11292        if self.preNodeInst: 
    113             smallLearner.stop.minExamples = self.preNodeInstP  
     93            smallLearner.min_instances = self.preNodeInstP  
    11494        else: 
    115             smallLearner.stop.minExamples = 0 
    116  
    117         smallLearner.storeExamples = 1 
    118         smallLearner.storeNodeClassifier = 1 
    119         smallLearner.storeContingencies = 1 
    120         smallLearner.storeDistributions = 1 
     95            smallLearner.min_instances = 0 
    12196 
    12297        if self.limitDepth: 
    123             smallLearner.maxDepth = self.limitDepthP 
     98            smallLearner.max_depth = self.limitDepthP  
    12499         
    125100        learner = orngEnsemble.RandomForestLearner(base_learner=smallLearner,  
     
    155130                self.classifier = learner(self.data) 
    156131                self.classifier.name = self.name 
    157                 self.streeEnabled(True) 
    158132            except Exception, (errValue): 
    159133                self.error(str(errValue)) 
    160134                self.classifier = None 
    161                 self.streeEnabled(False) 
    162135            pb.finish() 
    163136        else: 
    164137            self.classifier = None 
    165             self.streeEnabled(False) 
    166138 
    167139        self.send("Random Forest Classifier", self.classifier) 
  • orange/OrangeWidgets/Regression/OWRandomForestRegression.py

    r9314 r9427  
    1919         
    2020        self.outputs = [("Learner", orange.Learner), 
    21                         ("Random Forest Classifier", orange.Classifier), 
    22                         ("Choosen Tree", orange.TreeClassifier)] 
    23          
     21                        ("Random Forest Classifier", orange.Classifier)] 
    2422 
    2523    def setData(self, data): 
     
    3331                self.classifier = learner(self.data) 
    3432                self.classifier.name = self.name 
    35                 self.streeEnabled(True) 
    3633            except Exception, (errValue): 
    3734                self.error(str(errValue)) 
    3835                self.classifier = None 
    39                 self.streeEnabled(False) 
    4036            pb.finish() 
    4137        else: 
    4238            self.classifier = None 
    43             self.streeEnabled(False) 
    4439 
    4540        self.send("Random Forest Classifier", self.classifier) 
Note: See TracChangeset for help on using the changeset viewer.