classifyPairs
takes the training and test sets in data
and
processes it using pre
(if supplied). classifier
is called to
induce a classifier for each pair of algorithms to predict which one is better.
If combine
is not supplied, the best overall algorithm is determined
by majority vote. If it is supplied, it is assumed to be a classifier with the
same properties as the other one. This classifier is passed the original
features and the predictions for each pair of algorithms.
Which algorithm is better of a pair is determined by comparing their performance
scores. Whether a lower performance number is better or not is determined by
what was specified when the LLAMA data frame was created.
The evaluation across the training and test sets will be parallelized
automatically if a suitable backend for parallel computation is loaded.
The parallelMap
level is "llama.fold".
If the given classifier supports case weights and use.weights
is
TRUE
, the performance difference between the best and the worst algorithm
is passed as a weight for each instance.
If all predictions of an underlying machine learning model are NA
, it
will count as 0 towards the score.
Training this model can take a very long time. Given n
algorithms,
choose(n, 2)
models are trained and evaluated. This is significantly
slower than the other approaches that train a single model or one for each
algorithm.
If save.models
is not NA
, the models trained during evaluation are
serialized into files. Each file contains a list with members model
(the
mlr model), train.data
(the mlr task with the training data), and
test.data
(the data frame with the test data used to make predictions).
The file name starts with save.models
, followed by the ID of the machine
learning model, followed by "combined" if the model combines predictions of
other models, followed by the number of the fold. Each model for each fold is
saved in a different file.