Function to compute Area under the Precision Recall Curve (AUPRC) through precrec package.
AUPRC.single.class(labels, scores, folds = NULL, seed = NULL)AUPRC.single.over.classes(target, predicted, folds = NULL, seed = NULL)
vector of the true labels (0 negative, 1 positive examples).
a numeric vector of the values of the predicted labels (scores).
number of folds on which computing the AUPRC. If folds=NULL
(def.
), the AUPRC is computed one-shot,
otherwise the AUPRC is computed averaged across folds.
initialization seed for the random generator to create folds. Set seed
only if folds
NULL
.
If seed=NULL
and folds
NULL
, the AUPRC averaged across folds is computed without seed initialization.
matrix with the target multilabel: rows correspond to examples and columns to classes.
a numeric matrix with predicted values (scores): rows correspond to examples and columns to classes.
AUPRC.single.class
returns a numeric value corresponding to the AUPRC for the considered class;
AUPR.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.
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.
AUPR.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.
# NOT RUN {
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);
# }
Run the code above in your browser using DataLab