Changeset 9058:7d7eaa6f04a6 in orange


Ignore:
Timestamp:
10/05/11 13:47:24 (3 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
a5739e867092504e34d4ecc72e98586909ceb1f4
Message:

Added 'Normalize data' check box.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Unsupervised/OWExampleDistance.py

    r8042 r9058  
    1717 
    1818class OWExampleDistance(OWWidget): 
    19     settingsList = ["Metrics"] 
     19    settingsList = ["Metrics", "Normalize"] 
    2020    contextHandlers = {"": DomainContextHandler("", ["Label"])} 
    2121 
     
    2727 
    2828        self.Metrics = 0 
     29        self.Normalize = True 
    2930        self.Label = "" 
    3031        self.loadSettings() 
     
    4445            items=[x[0] for x in self.metrics], 
    4546            tooltip="Choose metrics to measure pairwise distance between examples.", 
    46             callback=self.computeMatrix, valueType=str) 
     47            callback=self.distMetricChanged, valueType=str) 
    4748        cb.setMinimumWidth(170) 
    48  
     49         
    4950        OWGUI.separator(self.controlArea) 
     51         
     52        box = OWGUI.widgetBox(self.controlArea, "Normalization",  
     53                              addSpace=True) 
     54        self.normalizeCB = OWGUI.checkBox(box, self, "Normalize", "Normalize data",  
     55                                          callback=self.computeMatrix) 
     56         
     57        self.normalizeCB.setEnabled(self.Metrics in [0, 3]) 
     58         
    5059        self.labelCombo = OWGUI.comboBox(self.controlArea, self, "Label", box="Example Label", 
    5160            items=[], 
     
    6372        self.reportData(self.data) 
    6473 
     74    def distMetricChanged(self): 
     75        self.normalizeCB.setEnabled(self.Metrics in [0, 3]) 
     76        self.computeMatrix() 
    6577 
    6678    def computeMatrix(self): 
     
    6880            return 
    6981        data = self.data 
    70         dist = self.metrics[self.Metrics][1](data) 
     82        constructor = self.metrics[self.Metrics][1]() 
     83        constructor.normalize = self.Normalize 
     84        dist = constructor(data) 
    7185        self.error(0) 
    7286        try: 
Note: See TracChangeset for help on using the changeset viewer.