Метод plot()
в caret
использует пакет lattice
, а не базовую графику, поэтому lines
не будет работать.
Вы можете легко получить результаты, используя метод ggplot
, добавив новые слои графика. Вот два варианта:
library(caret)
#> Loading required package: lattice
#> Loading required package: ggplot2
data(BloodBrain)
theme_set(theme_bw())
ctrl <- trainControl(method = "cv", number = 10, returnResamp = "all")
set.seed(214)
rfmodel <-
train(
x = bbbDescr, y = logBBB,
method = "rf",
preProc = "zv",
trControl = ctrl,
tuneGrid = data.frame(mtry = 1:10)
)
# rfmodel$resample contains the individual RMSE values per fold. Use the
# ggplot method and add another layer with those points.
ggplot(rfmodel) +
geom_point(data = rfmodel$resample, alpha = .3)
# or add them as colored lines
ggplot(rfmodel) +
geom_line(
data = rfmodel$resample,
# For each resample, plot a different colored line
aes(group = Resample, col = Resample),
alpha = .3) +
# the legend here gets huge so stop it from being printed
theme(legend.position = "none")
Создано в 2019-04-03 пакетом Представить (v0.2.1)