plotObsVsPred

0th

Percentile

Plot Observed versus Predicted Results in Regression and Classification Models

This function takes an object (preferably from the function extractPrediction) and creates a lattice plot. For numeric outcomes, the observed and predicted data are plotted with a 45 degree reference line and a smoothed fit. For factor outcomes, a dotplot plot is produced with the accuracies for the different models. If the call to extractPrediction included test data, these data are shown, but if unknowns were also included, they are not plotted

Keywords
hplot
Usage
plotObsVsPred(object, equalRanges = TRUE, ...)
Arguments
object
an object (preferably from the function extractPrediction. There should be columns named obs, pred, model (e.g. "rpart", "nnet" etc) and dataType<
equalRanges
a logical; should teh x- and y-axis ranges be the same?
...
parameters to pass to xyplot or dotplot, such as auto.key
Value

  • A lattice object. Note that the plot has to be printed to be displayed (especially in a loop).

Aliases
  • plotObsVsPred
Examples
# regression example
data(BostonHousing)
rpartFit <- train(BostonHousing[1:100, -c(4, 14)], 
                  BostonHousing$medv[1:100], 
                  "rpart", tuneLength = 9)
plsFit <- train(BostonHousing[1:100, -c(4, 14)], 
                BostonHousing$medv[1:100], 
                "pls")

predVals <- extractPrediction(list(rpartFit, plsFit), 
                              testX = BostonHousing[101:200, -c(4, 14)], 
                              testY = BostonHousing$medv[101:200], 
                              unkX = BostonHousing[201:300, -c(4, 14)])

plotObsVsPred(predVals)


#classification example
data(Satellite)
numSamples <- dim(Satellite)[1]
set.seed(716)

varIndex <- 1:numSamples

trainSamples <- sample(varIndex, 150)

varIndex <- (1:numSamples)[-trainSamples]
testSamples <- sample(varIndex, 100)

varIndex <- (1:numSamples)[-c(testSamples, trainSamples)]
unkSamples <- sample(varIndex, 50)

trainX <- Satellite[trainSamples, -37]
trainY <- Satellite[trainSamples, 37]

testX <- Satellite[testSamples, -37]
testY <- Satellite[testSamples, 37]

unkX <- Satellite[unkSamples, -37]

knnFit  <- train(trainX, trainY, "knn")
rpartFit <- train(trainX, trainY, "rpart")

predTargets <- extractPrediction(list(knnFit, rpartFit), 
                                 testX = testX, 
                                 testY = testY, 
                                 unkX = unkX)

plotObsVsPred(predTargets)
Documentation reproduced from package caret, version 4.25, License: GPL-2

Community examples

Looks like there are no examples yet.