misc {llama} | R Documentation |
Convenience functions
Description
Convenience functions for computing and working with predictions.
Usage
vbs(data = NULL)
singleBest(data = NULL)
singleBestByCount(data = NULL)
singleBestByPar(data = NULL, factor = 10)
singleBestBySuccesses(data = NULL)
predTable(predictions = NULL, bestOnly = TRUE)
Arguments
data |
the data to use. The structure returned by |
factor |
the penalization factor to use for non-successful choices. Default 10. |
predictions |
the list of predictions. |
bestOnly |
whether to tabulate only the respective best algorithm for each instance.
Default |
Details
vbs
and singleBest
take a data frame of input data and return
predictions that correspond to the virtual best and the single best algorithm,
respectively. The virtual best picks the best algorithm for each instance. If no
algorithm solved in the instance, NA
is returned. The single best picks
the algorithm that has the best cumulative performance over the entire data set.
singleBestByCount
returns the algorithm that has the best performance
the highest number of times over the entire data set. Only whether or not an
algorithm is the best matters for this, not the difference to other algorithms.
singleBestByPar
aggregates the PAR score over the entire data set and
returns the algorithm with the lowest overall PAR score.
singleBestBySuccesses
counts the number of successes over the data set
and returns the algorithm with the highest overall number of successes.
predTable
tabulates the predicted algorithms in the same way that
table
does. If bestOnly
is FALSE
, all algorithms are
considered – for example for regression models, predictions are made for all
algorithms, so the table will simply show the number of instances for each
algorithm. Set bestOnly
to TRUE
to tabulate only the best
algorithm for each instance.
Value
A data frame with the predictions for each instance. The columns of the data
frame are the instance ID columns (as determined by input
), the
algorithm, the score of the algorithm, and the iteration (always 1). The score
is 1 if the respective algorithm is chosen for the instance, 0 otherwise. More
than one prediction may be made for each instance and iteration.
For predTable
, a table.
Author(s)
Lars Kotthoff
Examples
if(Sys.getenv("RUN_EXPENSIVE") == "true") {
data(satsolvers)
# number of total successes for virtual best solver
print(sum(successes(satsolvers, vbs)))
# number of total successes for single best solver by count
print(sum(successes(satsolvers, singleBestByCount)))
# sum of PAR10 scores for single best solver by PAR10 score
print(sum(parscores(satsolvers, singleBestByPar)))
# number of total successes for single best solver by successes
print(sum(successes(satsolvers, singleBestBySuccesses)))
# print a table of the best solvers per instance
print(predTable(vbs(satsolvers)))
}