Plot a `gbm`

model showing the training and other
error curves.

```
plot_gbm(object=stop("no 'object' argument"),
smooth = c(0, 0, 0, 1),
col = c(1, 2, 3, 4), ylim = "auto",
legend.x = NULL, legend.y = NULL, legend.cex = .8,
grid.col = NA,
n.trees = NA, col.n.trees ="darkgray",
...)
```

object

The `gbm`

model.

smooth

Four-element vector specifying if smoothing should be applied
to the train, test, CV, and OOB curves respectively.
When smoothing is specified, a smoothed curve is plotted and the
minimum is calculated from the smoothed curve.
The default is c(0, 0, 0, 1) meaning apply smoothing only to the
OOB curve (same as `gbm.perf`

).
Note that `smooth=1`

(which gets recyled to `c(1,1,1,1)`

)
will smooth all the curves.

col

Four-element vector specifying the colors for the train, test, CV, and OOB
curves respectively.
The default is `c(1, 2, 3, 4)`

.
Use a color of `0`

to remove the corresponding curve, e.g.
`col=c(1,2,3,0)`

to not display the OOB curve.
If `col=0`

(which gets recycled to `c(0,0,0,0)`

) nothing
will be plotted, but `plot_gbm`

will return the number-of-trees
at the minima as usual (as described in the Value section below).

ylim

The default `ylim="auto"`

shows more detail around the minima.
Use `ylim=NULL`

for the full vertical range of the curves.
Else specify `ylim`

as usual.

legend.x

The x position of the legend.
The default positions the legend automatically.
Use `legend.x=NA`

for no legend.
See the `x`

and `y`

arguments of
`xy.coords`

for other options,
for example `legend.x="topright"`

.

legend.y

The y position of the legend.

legend.cex

The legend `cex`

(the default is `0.8`

).

grid.col

Default `NA`

.
Color of the optional grid, for example `grid.col=1`

.

n.trees

For use by `plotres`

.
The x position of the gray vertical line indicating the `n.trees`

passed by `plotres`

to `predict.gbm`

to calculate the residuals.
Plotres defaults to all trees.

col.n.trees

For use by `plotres`

.
Color of the vertical line showing the `n.trees`

argument.
Default is `"darkgray"`

.

…

Dot arguments are passed internally to
`plot.default`

.

This function returns a four-element vector specifying the number of trees at the train, test, CV, and OOB minima respectively.

The minima are calculated after smoothing as specified by this
function's `smooth`

argument.
By default, only the OOB curve is smoothed.
The smoothing algorithm for the OOB curve differs slightly
from `gbm.perf`

, so can give a slightly
different number of trees.

Chapter 7 in plotres vignette discusses this function.

# NOT RUN { if (require(gbm)) { n <- 100 # toy model for quick demo x1 <- 3 * runif(n) x2 <- 3 * runif(n) x3 <- sample(1:4, n, replace=TRUE) y <- x1 + x2 + x3 + rnorm(n, 0, .3) data <- data.frame(y=y, x1=x1, x2=x2, x3=x3) mod <- gbm(y~., data=data, distribution="gaussian", n.trees=300, shrinkage=.1, interaction.depth=3, train.fraction=.8, verbose=FALSE) plot_gbm(mod) # plotres(mod) # plot residuals # plotmo(mod) # plot regression surfaces } # }