plotObsVsPred
From caret v4.87
by Max Kuhn
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 namedobs
,pred
,model
(e.g. "rpart", "nnet" etc) anddataType<
- equalRanges
- a logical; should teh x- and y-axis ranges be the same?
- ...
- parameters to pass to
xyplot
ordotplot
, such asauto.key
Value
- A lattice object. Note that the plot has to be printed to be displayed (especially in a loop).
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)
Community examples
Looks like there are no examples yet.