Changeset 3474:c02bc4d04d74 in orange


Ignore:
Timestamp:
04/03/07 10:32:46 (7 years ago)
Author:
martinm <martinm@…>
Branch:
default
Convert:
5d048f53f508bba5f27a23f0a8608863984dfba7
Message:

no message

File:
1 edited

Legend:

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

    r3419 r3474  
    2121 
    2222import orngLR 
    23 import orngLR_Jakulin 
    24  
    2523 
    2624 
     
    377375 
    378376    def svmClassifier(self, cl): 
     377        import orngLR_Jakulin 
     378 
    379379        import Numeric 
    380380        import orngLinVis 
     
    500500        # calculate prior probability (from self.TargetClassIndex) 
    501501        self.bnomogram = BasicNomogram(self, AttValue("Constant", mult*cl.priorProbBetas[0])) 
     502        self.cl.setattr("rulesOrdering", []) 
    502503        for r_i,r in enumerate(cl.rules): 
    503504            a = AttrLine(getConditions(r), self.bnomogram) 
     505            self.cl.rulesOrdering.append(getConditions(r)) 
    504506            if r.classifier.defaultVal == 0: 
    505507                sign = mult 
     
    554556         
    555557    def updateNomogram(self): 
    556         import orngSVM 
     558##        import orngSVM 
    557559 
    558560        def setNone(): 
     
    577579#            else: 
    578580                self.nbClassifier(self.cl) 
    579         elif type(self.cl) == orngLR_Jakulin.MarginMetaClassifier and self.data: 
    580             self.svmClassifier(self.cl) 
     581##        elif type(self.cl) == orngLR_Jakulin.MarginMetaClassifier and self.data: 
     582##            self.svmClassifier(self.cl) 
    581583 
    582584        elif type(self.cl) == orange.LogRegClassifier: 
     
    602604                return -1; 
    603605            return 1; 
     606        def compare_to_ordering_in_rules(x,y): 
     607            return self.cl.rulesOrdering.index(x.name) - self.cl.rulesOrdering.index(y.name)           
    604608        def compare_to_ordering_in_data(x,y): 
    605609            return self.data.domain.attributes.index(self.data.domain[x.name]) - self.data.domain.attributes.index(self.data.domain[y.name])    
     
    615619        if not self.bnomogram: 
    616620            return 
    617  
    618         if self.sort_type == 0 and self.data: 
     621        if self.sort_type == 0 and hasattr(self.cl, "rulesOrdering"): 
     622            self.bnomogram.attributes.sort(compare_to_ordering_in_rules) 
     623        elif self.sort_type == 0 and self.data: 
    619624            self.bnomogram.attributes.sort(compare_to_ordering_in_data) 
    620625        elif self.sort_type == 0 and self.cl.domain: 
     
    796801    ow=OWNomogram() 
    797802    a.setMainWidget(ow) 
    798     data = orange.ExampleTable("titanic.tab") 
     803    data = orange.ExampleTable("heart_disease.tab") 
    799804 
    800805    bayes = orange.BayesLearner(data) 
Note: See TracChangeset for help on using the changeset viewer.