Ignore:
Location:
Orange
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Orange/data/io.py

    r10894 r10899  
    916916            call = entry_point.load() 
    917917            paths = call() 
     918            for path in paths: 
     919                if isinstance(path, tuple) and len(path) == 2 and \ 
     920                        all(isinstance(p, basestring) for p in path): 
     921                    search_paths.append(path) 
     922                elif isinstance(path, basestring): 
     923                    search_paths.append(("", path)) 
     924                else: 
     925                    warnings.warn("Invalid search path %r. Expected tuple or " 
     926                                  "string, got %r" % (entry_point, type(path))) 
    918927        except pkg_resources.DistributionNotFound, ex: 
    919928            warnings.warn("Missing dependency for %r: %r" % (entry_point, ex), 
    920929                         UserWarning) 
    921             paths = [] 
    922930        except Exception, ex: 
    923931            warnings.warn("Error calling %r: %r" % (entry_point, ex), 
    924932                         UserWarning) 
    925             paths = [] 
    926  
    927         for path in paths: 
    928             if isinstance(path, tuple) and len(path) == 2 and \ 
    929                     all(isinstance(p, basestring) for p in path): 
    930                 search_paths.append(path) 
    931             elif isinstance(path, basestring): 
    932                 search_paths.append(("", path)) 
    933             else: 
    934                 warnings.warn("Invalid search path %r. Expected tuple or " 
    935                               "string, got %r" % (entry_point, type(path))) 
    936933    return search_paths 
    937934 
  • Orange/ensemble/stacking.py

    r10540 r10900  
    3939        p_data = Orange.data.Table(domain) 
    4040        for r in res.results: 
    41             p_data.append([p for ps in r.probabilities for p in ps[:-1]] + [r.actual_class]) 
     41            p_data.append([p for ps in r.probabilities for p in list(ps)[:-1]] + [r.actual_class]) 
    4242        meta_classifier = self.meta_learner(p_data) 
    4343 
  • Orange/evaluation/scoring.py

    r10857 r10902  
    4343        raise ValueError, "Cannot compute the score: no examples." 
    4444 
     45# Backward compatibility 
     46def replace_use_weights(fun): 
     47    if environ.orange_no_deprecated_members: 
     48        return fun 
     49 
     50    @functools.wraps(fun) 
     51    def wrapped(*args, **kwargs): 
     52        use_weights = kwargs.pop("useWeights", None) 
     53        if use_weights is not None: 
     54            deprecation_warning("useWeights", "ignore_weights") 
     55            kwargs["ignore_weights"] = not use_weights 
     56        return fun(*args, **kwargs) 
     57    return wrapped 
     58 
     59def replace_discrete_probabilities_with_list(method): 
     60    if environ.orange_no_deprecated_members: 
     61        return lambda fun: fun 
     62 
     63    def decorator(fun): 
     64        @functools.wraps(fun) 
     65        def wrapped(*args, **kwargs): 
     66            res = args[method] if len(args)>method else kwargs.get("res", kwargs.get("test_results", None)) 
     67            convert = res is not None 
     68 
     69            if convert: 
     70                old_probs = [] 
     71                for r in res.results: 
     72                    old_probs.append(r.probabilities) 
     73                    r.probabilities = [list(p) if type(p) is Orange.statistics.distribution.Discrete 
     74                                       else p for p in r.probabilities] 
     75            result = fun(*args, **kwargs) 
     76            if convert: 
     77                for r, old in zip(res.results, old_probs): 
     78                    r.probabilities = old 
     79            return result 
     80        return wrapped 
     81    return decorator 
    4582 
    4683def split_by_iterations(res): 
     
    9981035@deprecated_keywords({"classIndex": "class_index", 
    9991036                      "unweighted": "ignore_weights"}) 
     1037@replace_discrete_probabilities_with_list(False) 
    10001038def AUCWilcoxon(res, class_index= -1, ignore_weights=False, **argkw): 
    10011039    """Compute the area under ROC (AUC) and its standard error using 
     
    10411079@deprecated_keywords({"classIndex": "class_index", 
    10421080                      "unweighted": "ignore_weights"}) 
     1081@replace_discrete_probabilities_with_list(False) 
    10431082def compare_2_AUCs(res, lrn1, lrn2, class_index= -1, 
    10441083                   ignore_weights=False, **argkw): 
     
    10511090 
    10521091@deprecated_keywords({"classIndex": "class_index"}) 
     1092@replace_discrete_probabilities_with_list(False) 
    10531093def compute_ROC(res, class_index= -1): 
    10541094    """Compute a ROC curve as a list of (x, y) tuples, where x is  
     
    11101150@deprecated_keywords({"classIndex": "class_index", 
    11111151                      "keepConcavities": "keep_concavities"}) 
     1152@replace_discrete_probabilities_with_list(False) 
    11121153def TC_compute_ROC(res, class_index= -1, keep_concavities=1): 
    11131154    problists, tots = corn.computeROCCumulative(res, class_index) 
     
    13381379##  - noClassRugPoints is an array of (x, 0) points 
    13391380@deprecated_keywords({"classIndex": "class_index"}) 
     1381@replace_discrete_probabilities_with_list(False) 
    13401382def compute_calibration_curve(res, class_index= -1): 
    13411383    ## merge multiple iterations into one 
     
    14041446##    on the Lift Curve 
    14051447@deprecated_keywords({"classIndex": "class_index"}) 
     1448@replace_discrete_probabilities_with_list(False) 
    14061449def compute_lift_curve(res, class_index= -1): 
    14071450    ## merge multiple iterations into one 
     
    14421485@deprecated_keywords({"classIndex": "class_index", 
    14431486                      "unweighted": "ignore_weights"}) 
     1487@replace_discrete_probabilities_with_list(False) 
    14441488def compute_CDT(res, class_index= -1, ignore_weights=False, **argkw): 
    14451489    """Obsolete, don't use.""" 
     
    14701514        return corn.computeCDT(res, class_index, useweights) 
    14711515 
    1472 # Backward compatibility 
    1473 def replace_use_weights(fun): 
    1474     if environ.orange_no_deprecated_members: 
    1475         return fun 
    1476  
    1477     @functools.wraps(fun) 
    1478     def wrapped(*args, **kwargs): 
    1479         use_weights = kwargs.pop("useWeights", None) 
    1480         if use_weights is not None: 
    1481             deprecation_warning("useWeights", "ignore_weights") 
    1482             kwargs["ignore_weights"] = not use_weights 
    1483         return fun(*args, **kwargs) 
    1484     return wrapped 
    1485  
    14861516class AUC(list): 
    14871517    """ 
     
    15391569            self[:] = self.__call__(test_results) 
    15401570 
     1571    @replace_discrete_probabilities_with_list(method=True) 
    15411572    def __call__(self, test_results): 
    15421573        if len(test_results.class_values) < 2: 
     
    17221753        super(AUC_for_single_class, self).__init__(test_results, ignore_weights=ignore_weights) 
    17231754 
     1755    @replace_discrete_probabilities_with_list(method=True) 
    17241756    def __call__(self, test_results): 
    17251757        return self._compute_for_single_class(test_results, self.class_index) 
     
    17371769        super(AUC_for_pair_of_classes, self).__init__(test_results, ignore_weights=ignore_weights) 
    17381770 
     1771    @replace_discrete_probabilities_with_list(method=True) 
    17391772    def __call__(self, test_results): 
    17401773        return self._compute_for_pair_of_classes(test_results, self.class_index1, self.class_index2) 
     
    17481781    """ 
    17491782 
     1783    @replace_discrete_probabilities_with_list(method=True) 
    17501784    def __call__(self, test_results): 
    17511785        numberOfClasses = len(test_results.class_values) 
     
    17731807#Backward compatibility 
    17741808@replace_use_weights 
     1809@replace_discrete_probabilities_with_list(False) 
    17751810def AUC_binary(res, ignore_weights=False): 
    17761811    auc = deprecated_function_name(AUC)(ignore_weights=ignore_weights) 
     
    17791814 
    17801815@replace_use_weights 
     1816@replace_discrete_probabilities_with_list(False) 
    17811817def AUC_multi(res, ignore_weights=False, method=0): 
    17821818    auc = deprecated_function_name(AUC)(ignore_weights=ignore_weights, 
     
    18271863 
    18281864@deprecated_keywords({"unweighted": "ignore_weights"}) 
     1865@replace_discrete_probabilities_with_list(False) 
    18291866def McNemar(res, ignore_weights=False, **argkw): 
    18301867    """ 
     
    18741911    return mcm 
    18751912 
    1876  
     1913@replace_discrete_probabilities_with_list(False) 
    18771914def McNemar_of_two(res, lrn1, lrn2, ignore_weights=False): 
    18781915    """ 
     
    19041941        return 0 
    19051942 
    1906  
     1943@replace_discrete_probabilities_with_list(False) 
    19071944def Friedman(res, stat=CA): 
    19081945    """ 
     
    19291966    return F, statc.chisqprob(F, k - 1), sums 
    19301967 
    1931  
     1968@replace_discrete_probabilities_with_list(False) 
    19321969def Wilcoxon_pairs(res, avgranks, stat=CA): 
    19331970    """ 
  • Orange/evaluation/testing.py

    r10846 r10898  
    6464        else: 
    6565            self.classes.append(int(aclass)) 
    66             self.probabilities.append(list(aprob)) 
     66            self.probabilities.append(aprob) 
    6767 
    6868    def set_result(self, i, aclass, aprob): 
     
    7676        else: 
    7777            self.classes[i] = int(aclass) 
    78             self.probabilities[i] = list(aprob) 
     78            self.probabilities[i] = aprob 
    7979 
    8080    def __repr__(self): 
Note: See TracChangeset for help on using the changeset viewer.