Performance curves¶
- class Orange.evaluation.performance_curves.Curves(ytrue, probs)[source]¶
Computation of performance curves (ca, f1, precision, recall and the rest of the zoo) from test results.
The class works with binary classes. Attribute probs contains ordered probabilities and all curves represent performance statistics if an instance is classified as positive if it equals or exceeds the threshold in probs, that is, sensitivity[i] is the sensitivity of the classifier that classifies an instances as positive if the probability of being positive is at least probs[i].
Class can be constructed by giving probs and ytrue, or from test results (see
Curves.from_results
). The latter removes instances with missing class values or predicted probabilities.The class treats all results as obtained from a single run instead of computing separate curves and fancy averaging.
- Parameters
probs (np.ndarray) -- vector of predicted probabilities
ytrue (np.ndarray) -- corresponding true classes
- probs¶
ordered vector of predicted probabilities
- Type
np.ndarray
- ytrue¶
corresponding true classes
- Type
np.ndarray
- tp¶
number of true positives (property computed from tn)
- Type
np.ndarray
- fp¶
number of false positives (property computed from tn)
- Type
np.ndarray
- tn¶
number of true negatives (property computed from tn)
- Type
np.ndarray
- fn¶
number of false negatives (precomputed, not a property)
- Type
np.ndarray
- classmethod from_results(results, target_class=None, model_index=None)[source]¶
Construct an instance of Curves from test results.
- Parameters
results (
Orange.evaluation.testing.Results
) -- test resultstarget_class (int) -- target class index; if the class is binary, this defaults to 1, otherwise it must be given
model_index (int) -- model index; if there is only one model, this argument can be omitted
- Returns
curves (
Curves
)
- precision()[source]¶
Precision curve
The last element represents precision at threshold 1. Unless such a probability appears in the data, the precision at this point is undefined. To avoid this, we copy the previous value to the last.