Changeset 11455:ea4f1b23ca68 in orange


Ignore:
Timestamp:
04/15/13 12:15:40 (12 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Preserve meta attributes in 'Basis matrix' output.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeWidgets/Regression/OWEarth.py

    r11217 r11455  
    1414from Orange.regression import earth 
    1515from orngWrap import PreprocessedLearner 
    16   
     16 
     17 
    1718class OWEarth(OWWidget): 
    1819    settingsList = ["name", "degree", "terms", "penalty"] 
     
    2021    def __init__(self, parent=None, signalManager=None, 
    2122                 title="Earth"): 
    22         OWWidget.__init__(self, parent, signalManager, title, wantMainArea=False) 
     23        OWWidget.__init__(self, parent, signalManager, title, 
     24                          wantMainArea=False) 
    2325 
    2426        self.inputs = [("Data", Orange.data.Table, self.set_data), 
    25                        ("Preprocessor", PreprocessedLearner, self.set_preprocessor)] 
     27                       ("Preprocessor", PreprocessedLearner, 
     28                        self.set_preprocessor)] 
    2629 
    2730        self.outputs = [("Learner", earth.EarthLearner, Default), 
     
    4043        ##### 
    4144 
    42         OWGUI.lineEdit(self.controlArea, self, "name",  
     45        OWGUI.lineEdit(self.controlArea, self, "name", 
    4346                       box="Learner/Classifier Name", 
    4447                       tooltip="Name for the learner/predictor") 
     
    4649        box = OWGUI.widgetBox(self.controlArea, "Forward Pass", addSpace=True) 
    4750        OWGUI.spin(box, self, "degree", 1, 3, step=1, 
    48                    label="Max. term degree",  
    49                    tooltip="Maximum degree of the terms derived (number of hinge functions).") 
     51                   label="Max. term degree", 
     52                   tooltip="Maximum degree of the terms derived " 
     53                           "(number of hinge functions).") 
    5054        s = OWGUI.spin(box, self, "terms", 1, 200, step=1, 
    5155                       label="Max. terms", 
    52                        tooltip="Maximum number of terms derived in the forward pass.") 
     56                       tooltip="Maximum number of terms derived in the " 
     57                               "forward pass.") 
    5358        s.control.setSpecialValueText("Automatic") 
    5459 
     
    7681 
    7782    def apply(self): 
    78         learner = earth.EarthLearner(degree=self.degree, 
    79                                     terms=self.terms if self.terms >= 2 else None, 
    80                                     penalty=self.penalty, 
    81                                     name=self.name) 
     83        learner = earth.EarthLearner( 
     84            degree=self.degree, 
     85            terms=self.terms if self.terms >= 2 else None, 
     86            penalty=self.penalty, 
     87            name=self.name) 
     88 
    8289        predictor = None 
    8390        basis_matrix = None 
     
    93100                self.error(0, "An error during learning: %r" % ex) 
    94101 
    95             if predictor is not None:      
     102            if predictor is not None: 
    96103                base_features = predictor.base_features() 
    97                 basis_domain = Orange.data.Domain(base_features,  
    98                                                   self.data.domain.class_var) 
     104                basis_domain = Orange.data.Domain( 
     105                    base_features, 
     106                    self.data.domain.class_var, 
     107                    self.data.domain.class_vars) 
     108                basis_domain.add_metas(self.data.domain.get_metas()) 
    99109                basis_matrix = Orange.data.Table(basis_domain, self.data) 
    100110 
     
    104114 
    105115    def sendReport(self): 
    106         self.reportSettings("Learning parameters",  
    107                             [("Degree", self.degree), 
    108                              ("Terms", self.terms if self.terms >= 2 else "Automatic"), 
    109                              ("Knot penalty", "%.2f" % self.penalty) 
    110                              ]) 
     116        self.reportSettings( 
     117            "Learning parameters", 
     118            [("Degree", self.degree), 
     119             ("Terms", self.terms if self.terms >= 2 else "Automatic"), 
     120             ("Knot penalty", "%.2f" % self.penalty) 
     121             ]) 
     122 
    111123        self.reportData(self.data) 
    112124 
Note: See TracChangeset for help on using the changeset viewer.