Changeset 9558:11c557a1c646 in orange


Ignore:
Timestamp:
01/23/12 11:46:34 (2 years ago)
Author:
ales_erjavec <ales.erjavec@…>
Branch:
default
Convert:
89f821e25405552eea9bc37033b3ea8dedc1d41a
Message:

Reliability widget now also outputs CNK signed not just CNK absolute.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orange/OrangeWidgets/Evaluate/OWReliability.py

    r9551 r9558  
    5454        self.auto_commit = False 
    5555         
    56         # (selected attr name, getter function, count of returned estimators, index of estimator) 
     56        # (selected attr name, getter function, count of returned estimators, indices of estimator results to use) 
    5757        self.estimators = \ 
    58             [("variance_checked", self.get_SAVar, 3, 0), 
    59              ("bias_checked", self.get_SABias, 3, 1), 
    60              ("bagged_variance", self.get_BAGV, 1, 0), 
    61              ("local_cv", self.get_LCV, 1, 0), 
    62              ("local_model_pred_error", self.get_CNK, 2, 0), 
    63              ("bagging_variance_cn", self.get_BVCK, 4, 0), 
    64              ("mahalanobis_distance", self.get_Mahalanobis, 1, 0)] 
     58            [("variance_checked", self.get_SAVar, 3, [0]), 
     59             ("bias_checked", self.get_SABias, 3, [1]), 
     60             ("bagged_variance", self.get_BAGV, 1, [0]), 
     61             ("local_cv", self.get_LCV, 1, [0]), 
     62             ("local_model_pred_error", self.get_CNK, 2, [0, 1]), 
     63             ("bagging_variance_cn", self.get_BVCK, 4, [0]), 
     64             ("mahalanobis_distance", self.get_Mahalanobis, 1, [0])] 
    6565         
    6666        ##### 
     
    246246        plan = [] 
    247247        estimate_index = 0 
    248         for i, (selected, method, count, offset) in enumerate(self.estimators): 
     248        for i, (selected, method, count, offsets) in enumerate(self.estimators): 
    249249            if self.results[i] is None and getattr(self, selected): 
    250                 plan.append((i, method, estimate_index + offset)) 
     250                plan.append((i, method, [estimate_index + offset for offset in offsets])) 
    251251                estimate_index += count 
    252252                 
     
    263263        estimates = [prob.reliability_estimate for _, prob in estimates] 
    264264         
    265         for i, (index, method, estimate_index) in enumerate(plan): 
    266             self.results[index] = [e[estimate_index] for e in estimates] 
     265        for i, (index, method, estimate_indices) in enumerate(plan): 
     266            self.results[index] = [[e[est_index] for e in estimates] \ 
     267                                   for est_index in estimate_indices] 
    267268         
    268269    def _test_data(self): 
     
    355356            for estimates, (selected, method, _, _) in zip(self.results, self.estimators): 
    356357                if estimates is not None and getattr(self, selected): 
    357                     name = estimates[0].method_name 
    358                     name = name_mapper.get(name, name) 
    359                     var = variable.Continuous(name) 
    360                     features.append(var) 
    361                     score_vars.append(var) 
    362                     all_estimates.append(estimates) 
     358                    for estimate in estimates: 
     359                        name = estimate[0].method_name 
     360                        name = name_mapper.get(name, name) 
     361                        var = variable.Continuous(name) 
     362                        features.append(var) 
     363                        score_vars.append(var) 
     364                        all_estimates.append(estimate) 
    363365                     
    364366            if self.include_input_features: 
Note: See TracChangeset for help on using the changeset viewer.