ROCR integration {bnlearn} | R Documentation |
Generating a prediction object for ROCR
Description
Evaluate structure learning accuracy with ROCR. This function views the
arcs in a bn.strength
object as a set of predictions and the arcs in a
true
reference graph as a set of labels, and produces a prediction
object from the ROCR package. This facilitates evaluation of structure
learning with traditional machine learning metrics such as ROC curves and AUC.
Usage
## S3 method for class 'bn.strength'
as.prediction(x, true, ..., consider.direction = TRUE)
Arguments
x |
an object of class |
true |
an object of class |
... |
additional arguments, currently ignored. |
consider.direction |
a boolean value. If |
Details
One way of evaluating the overall performance of a network structure learning
algorithm is to evaluate how well it detects individual arcs.
as.prediction()
takes each pair of nodes in a ground truth network and
labels them with a 1
if an arc exists between them and 0
if not.
It uses the arc presence probabilities in a bn.strength
object
returned by boot.strength()
as the predictions.
Value
An object of class prediction
from the ROCR package.
Author(s)
Robert Ness
Examples
## Not run:
library(ROCR)
modelstring = paste0("[HIST|LVF][CVP|LVV][PCWP|LVV][HYP][LVV|HYP:LVF][LVF]",
"[STKV|HYP:LVF][ERLO][HRBP|ERLO:HR][HREK|ERCA:HR][ERCA][HRSA|ERCA:HR][ANES]",
"[APL][TPR|APL][ECO2|ACO2:VLNG][KINK][MINV|INT:VLNG][FIO2][PVS|FIO2:VALV]",
"[SAO2|PVS:SHNT][PAP|PMB][PMB][SHNT|INT:PMB][INT][PRSS|INT:KINK:VTUB][DISC]",
"[MVS][VMCH|MVS][VTUB|DISC:VMCH][VLNG|INT:KINK:VTUB][VALV|INT:VLNG][ACO2|VALV]",
"[CCHL|ACO2:ANES:SAO2:TPR][HR|CCHL][CO|HR:STKV][BP|CO:TPR]")
true.dag = model2network(modelstring)
strength = boot.strength(alarm, R = 200, m = 30, algorithm = "hc")
pred = as.prediction(strength, true.dag)
perf = performance(pred, "tpr", "fpr")
plot(perf, main = "Arc Detection")
performance(pred, "auc")
## End(Not run)