% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lgb.Booster.R
\name{lgb.save}
\alias{lgb.save}
\title{Save LightGBM model}
\usage{
lgb.save(booster, filename, num_iteration = NULL, start_iteration = 1L)
}
\arguments{
\item{booster}{Object of class \code{lgb.Booster}}

\item{filename}{Saved filename}

\item{num_iteration}{Number of iterations to save, NULL or <= 0 means use best iteration}

\item{start_iteration}{Index (1-based) of the first boosting round to save.
       For example, passing \code{start_iteration=5, num_iteration=3} for a regression model
       means "save the fifth, sixth, and seventh tree"

       \emph{New in version 4.4.0}}
}
\value{
lgb.Booster
}
\description{
Save LightGBM model
}
\examples{
\donttest{
\dontshow{setLGBMthreads(2L)}
\dontshow{data.table::setDTthreads(1L)}
library(lightgbm)
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm")
test <- agaricus.test
dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)
params <- list(
  objective = "regression"
  , metric = "l2"
  , min_data = 1L
  , learning_rate = 1.0
  , num_threads = 2L
)
valids <- list(test = dtest)
model <- lgb.train(
  params = params
  , data = dtrain
  , nrounds = 10L
  , valids = valids
  , early_stopping_rounds = 5L
)
lgb.save(model, tempfile(fileext = ".txt"))
}
}
