Changeset 10103:225ed928cd74 in orange


Ignore:
Timestamp:
02/08/12 18:16:26 (2 years ago)
Author:
ales_erjavec
Branch:
default
rebase_source:
8a5021c9a5f21ffcd6775c385adc1393e7b7517d
Message:

Camel case to underscore, examples -> data or instances depending on the context.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/projection/som.py

    r10061 r10103  
    392392     
    393393    """ 
    394     @deprecated_keywords({"weightId": "weight_id"}) 
    395     def __new__(cls, examples=None, weight_id=0, **kwargs): 
     394    @deprecated_keywords({"examples": "data", 
     395                          "weightId": "weight_id"}) 
     396    def __new__(cls, data=None, weight_id=0, **kwargs): 
    396397        self = orange.Learner.__new__(cls, **kwargs) 
    397         if examples is not None: 
     398        if data is not None: 
    398399            self.__init__(**kwargs) 
    399             return self.__call__(examples, weight_id) 
     400            return self.__call__(data, weight_id) 
    400401        else: 
    401402            return self 
     
    444445    def __init__(self, map=[], data=[]): 
    445446        self.map = map 
    446         self.examples = data 
     447        self.data = data 
    447448        for node in map: 
    448             node.reference_example = orange.Example(orange.Domain(self.examples.domain.attributes, False), 
     449            node.reference_instance = orange.Example(orange.Domain(self.data.domain.attributes, False), 
    449450                                                 [(var(value) if var.varType == orange.VarTypes.Continuous else var(int(value))) \ 
    450                                                   for var, value in zip(self.examples.domain.attributes, node.vector)]) 
    451             node.examples = orange.ExampleTable(self.examples.domain) 
    452  
    453         for ex in self.examples: 
    454             node = self.get_best_matching_node(ex) 
    455             node.examples.append(ex) 
    456  
    457         if self.examples and self.examples.domain.classVar: 
     451                                                  for var, value in zip(self.data.domain.attributes, node.vector)]) 
     452             
     453            node.instances = orange.ExampleTable(self.data.domain) 
     454 
     455        for inst in self.data: 
     456            node = self.get_best_matching_node(inst) 
     457            node.instances.append(inst) 
     458 
     459        if self.data and self.data.domain.class_var: 
    458460            for node in self.map: 
    459                 node.classifier = orange.MajorityLearner(node.examples if node.examples else self.examples) 
     461                node.classifier = orange.MajorityLearner(node.instances if node.instances else self.data) 
    460462                      
    461             self.classVar = self.examples.domain.classVar 
     463            self.class_var = self.data.domain.class_var 
    462464        else: 
    463             self.classVar = None 
    464  
    465     def get_best_matching_node(self, example): 
     465            self.class_var = None 
     466             
     467    classVar = deprecated_attribute("classVar", "class_var") 
     468    examples = deprecated_attribute("examples", "data") 
     469 
     470    def get_best_matching_node(self, instance): 
    466471        """Return the best matching node for a given data instance 
    467472        """ 
    468         example, c, w = orange.ExampleTable([example]).toNumpyMA() 
     473        instance, c, w = orange.ExampleTable([instance]).toNumpyMA() 
    469474        vectors = self.map.vectors() 
    470         Dist = vectors - example 
     475        Dist = vectors - instance 
    471476        bmu = ma.argmin(ma.sum(Dist**2, 1)) 
    472477        return list(self.map)[bmu] 
     
    476481                             "get_best_matching_node") 
    477482         
    478     def __call__(self, example, what=orange.GetValue): 
    479         bmu = self.get_best_matching_node(example) 
    480         return bmu.classifier(example, what) 
     483    def __call__(self, instance, what=orange.GetValue): 
     484        bmu = self.get_best_matching_node(instance) 
     485        return bmu.classifier(instance, what) 
    481486 
    482487    def __getattr__(self, name): 
     
    515520    @deprecated_keywords({"weightID": "weight_id", 
    516521                          "progressCallback": "progress_callback"}) 
    517     def __call__(self, examples, weight_id=0, progress_callback=None): 
    518         data, classes, w = examples.toNumpyMA() 
    519         nval = len(examples.domain.classVar.values) 
    520         ext = ma.zeros((len(data), nval)) 
     522    def __call__(self, data, weight_id=0, progress_callback=None): 
     523        array, classes, w = data.toNumpyMA() 
     524        nval = len(data.domain.class_var.values) 
     525        ext = ma.zeros((len(array), nval)) 
    521526        ext[([i for i, m in enumerate(classes.mask) if m], [int(c) for c, m in zip(classes, classes.mask) if m])] = 1.0 
    522         data = ma.hstack((data, ext)) 
     527        array = ma.hstack((array, ext)) 
    523528        map = Map(self.map_shape, topology=self.topology) 
    524529        if self.initialize == Map.InitializeLinear: 
    525             map.initialize_map_linear(data) 
     530            map.initialize_map_linear(array) 
    526531        else: 
    527             map.initialize_map_random(data) 
     532            map.initialize_map_random(array) 
    528533        map = Solver(batch_train=self.batch_train, eps=self.eps, neighbourhood=self.neighbourhood, 
    529534                     radius_ini=self.radius_ini, radius_fin=self.radius_fin, learning_rate=self.learning_rate, 
    530                      epoch=self.epochs)(data, map, progress_callback=progress_callback) 
     535                     epoch=self.epochs)(array, map, progress_callback=progress_callback) 
    531536        for node in map: 
    532537            node.vector = node.vector[:-nval] 
    533         return SOMMap(map, examples) 
     538        return SOMMap(map, data) 
    534539 
    535540########################################################################## 
     
    543548        Node position. 
    544549 
    545     .. attribute:: reference_example 
     550    .. attribute:: reference_instance 
    546551 
    547552        Reference data instance (a prototype). 
    548553         
    549     .. attribute:: examples 
    550      
    551         Data set with instances training instances that were mapped  
    552         to the node. 
     554    .. attribute:: instances 
     555     
     556        Data set with training instances that were mapped to the node. 
    553557          
    554558    """ 
     
    557561        self.map = map 
    558562        self.vector = vector 
    559          
    560     referenceExample = deprecated_attribute("referenceExample", "reference_example") 
     563        self.reference_instance = None 
     564        self.instances = None 
     565         
     566    referenceExample = deprecated_attribute("referenceExample", "reference_instance") 
     567    examples = deprecated_attribute("examples", "instances") 
    561568 
    562569class Map(object): 
     
    564571    data initialization. 
    565572     
     573    .. attribute:: map_shape 
     574     
     575        A two element tuple containing the map width and height. 
     576          
     577    .. attribute:: topology 
     578     
     579        Topology of the map (``HexagonalTopology`` or  
     580        ``RectangularTopology``) 
     581         
    566582    .. attribute:: map 
    567583 
    568584        Self orginzing map. A list of lists of :obj:`Node`. 
    569          
    570     .. attribute:: examples 
    571      
    572         Data set that was considered when optimizing the map. 
    573585         
    574586    """ 
Note: See TracChangeset for help on using the changeset viewer.