extractPrediction
Extract predictions and class probabilities from train objects
These functions can be used for a single train
object or to loop
through a number of train
objects to calculate the training and test
data predictions and class probabilities.
- Keywords
- manip
Usage
extractPrediction(
models,
testX = NULL,
testY = NULL,
unkX = NULL,
unkOnly = !is.null(unkX) & is.null(testX),
verbose = FALSE
)extractProb(
models,
testX = NULL,
testY = NULL,
unkX = NULL,
unkOnly = !is.null(unkX) & is.null(testX),
verbose = FALSE
)
# S3 method for train
predict(object, newdata = NULL, type = "raw", na.action = na.omit, ...)
Arguments
- models
a list of objects of the class
train
. The objects must have been generated withfitBest = FALSE
andreturnData = TRUE
.- testX
an optional set of data to predict
- testY
an optional outcome corresponding to the data given in
testX
- unkX
another optional set of data to predict without known outcomes
- unkOnly
a logical to bypass training and test set predictions. This is useful if speed is needed for unknown samples.
- verbose
a logical for printing messages
- object
For
predict.train
, an object of classtrain
. Forpredict.list
, a list of objects of classtrain
.- newdata
an optional set of data to predict on. If
NULL
, then the original training data are used but, if thetrain
model used a recipe, an error will occur.- type
either "raw" or "prob", for the number/class predictions or class probabilities, respectively. Class probabilities are not available for all classification models
- na.action
the method for handling missing data
- …
only used for
sort
andmodelCor
and captures arguments to pass tosort
orFUN
.
Details
These functions are wrappers for the specific prediction functions in each
modeling package. In each case, the optimal tuning values given in the
tuneValue
slot of the finalModel
object are used to predict.
To get simple predictions for a new data set, the predict
function
can be used. Limits can be imposed on the range of predictions. See
trainControl
for more information.
To get predictions for a series of models at once, a list of
train
objects can be passes to the predict
function and
a list of model predictions will be returned.
The two extraction functions can be used to get the predictions and observed
outcomes at once for the training, test and/or unknown samples at once in a
single data frame (instead of a list of just the predictions). These objects
can then be passes to plotObsVsPred
or
plotClassProbs
.
Value
For predict.train
, a vector of predictions if type = "raw"
or
a data frame of class probabilities for type = "prob"
. In the latter
case, there are columns for each class.
For predict.list
, a list results. Each element is produced by
predict.train
.
For extractPrediction
, a data frame with columns:
the observed training and test data
predicted values
the type of model used to predict
the names of
the objects within models
. If models
is an un-named list, the
values of object
will be "Object1", "Object2" and so on
"Training", "Test" or "Unknown" depending on what was specified
For extractProb, a data frame. There is a column for each class containing the probabilities. The remaining columns are the same as above (although the pred column is the predicted class)
References
Kuhn (2008), ``Building Predictive Models in R Using the caret'' (http://www.jstatsoft.org/article/view/v028i05/v28i05.pdf)
See Also
Examples
# NOT RUN {
# }
# NOT RUN {
knnFit <- train(Species ~ ., data = iris, method = "knn",
trControl = trainControl(method = "cv"))
rdaFit <- train(Species ~ ., data = iris, method = "rda",
trControl = trainControl(method = "cv"))
predict(knnFit)
predict(knnFit, type = "prob")
bothModels <- list(knn = knnFit,
tree = rdaFit)
predict(bothModels)
extractPrediction(bothModels, testX = iris[1:10, -5])
extractProb(bothModels, testX = iris[1:10, -5])
# }
# NOT RUN {
# }