AUPRC {PerfMeas} | R Documentation |
Area Under the Precision Recall Curve
Description
Functions to compute the Area Under the Precision Recall Curve (AUPRC) and the Area Under the F-score Recall Curve (AUFRC)
Usage
AUPRC(z, comp.precision=TRUE)
trap.rule.integral(x,y)
Arguments
z |
a list of lists. The components of the outer list is a list returned from the function |
comp.precision |
boolean. It TRUE (default) the AUPRC is computed otherwise the area under the F-score curve is computed |
x |
vector of the x values in increasing order |
y |
vector of the corresponding y=f(x) values |
Details
AUPRC
computes the Area Under the Precision Recall Curve or the Area Under the F-score Recall Curve (AUFRC)
for multiple curves by using the output of the function precision.at.all.recall.levels
.
The function trap.rule.integral
implements the trapezoidal rule of integration and can be used to compute the integral of any empirical function expressed as a set of pair values (a vector of x
values and a vector of y = f(x)
values). In particular if x
is the recall (with values in ascending order) and y
the corresponding precision, trap.rule.integral
copmutes the AUPRC.
Value
AUPRC
returns the value of the AUPRC (if the argument comp.precision = TRUE
), otherwise the value of the AUFRC.
trap.rule.integral
returns the value of the integral.
See Also
Examples
# loading matrices of scores an correponding table of classes
data(T);
data(Scores);
res=list();
classes=1:10
# computing precision recall values
for (j in classes) res=c(res, list(precision.at.all.recall.levels(Scores[,j], T[,j])));
names(res)<-seq(0.1, 1, by=0.1);
# computing AUPRC
AUPRC (res, comp.precision=TRUE);
# computing AU F-score recall curve
AUPRC (res, comp.precision=TRUE);
# Loading precision at given recall levels for different methods
data(PrecRec);
# computing AUPRC for different methods
x <- seq(0.1, 1, by=0.1);
res <- numeric(nrow(PrecRec));
names(res) <- rownames(PrecRec);
for (i in 1:nrow(PrecRec))
res[i] <- trap.rule.integral(x, PrecRec[i,]);
print(res);