auprc {HEMDAG} | R Documentation |
AUPRC measures
Description
Compute the Area under the Precision Recall Curve (AUPRC) through precrec package.
Usage
auprc.single.class(labels, scores, folds = NULL, seed = NULL)
auprc.single.over.classes(target, predicted, folds = NULL, seed = NULL)
Arguments
labels |
vector of the true labels (0 negative, 1 positive examples). |
scores |
a numeric vector of the values of the predicted labels (scores). |
folds |
number of folds on which computing the AUPRC. If |
seed |
initialization seed for the random generator to create folds. Set |
target |
matrix with the target multilabel: rows correspond to examples and columns to classes.
|
predicted |
a numeric matrix with predicted values (scores): rows correspond to examples and columns to classes. |
Details
The AUPRC (for a single class or for a set of classes) is computed either one-shot or averaged across stratified folds.
auprc.single.class
computes the AUPRC just for a given class.
auprc.single.over.classes
computes the AUPRC for a set of classes, returning also the averaged values across the classes.
For all those classes having zero annotations, the AUPRC is set to 0. These classes are discarded in the computing of the AUPRC averaged across classes, both when the AUPRC is computed one-shot or averaged across stratified folds.
Names of rows and columns of labels
and predicted
matrix must be provided in the same order, otherwise a stop message is returned.
Value
auprc.single.class
returns a numeric value corresponding to the AUPRC for the considered class;
auprc.single.over.classes
returns a list with two elements:
average: the average AUPRC across classes;
per.class: a named vector with AUPRC for each class. Names correspond to classes.
Examples
data(labels);
data(scores);
data(graph);
root <- root.node(g);
L <- L[,-which(colnames(L)==root)];
S <- S[,-which(colnames(S)==root)];
prc.single.class <- auprc.single.class(L[,3], S[,3], folds=5, seed=23);
prc.over.classes <- auprc.single.over.classes(L, S, folds=5, seed=23);