31 lines
961 B
R
31 lines
961 B
R
#' Save xgboost model to R's raw vector,
|
|
#' user can call xgb.load to load the model back from raw vector
|
|
#'
|
|
#' Save xgboost model from xgboost or xgb.train
|
|
#'
|
|
#' @param model the model object.
|
|
#'
|
|
#' @examples
|
|
#' data(agaricus.train, package='xgboost')
|
|
#' data(agaricus.test, package='xgboost')
|
|
#' train <- agaricus.train
|
|
#' test <- agaricus.test
|
|
#' bst <- xgboost(data = train$data, label = train$label, max.depth = 2,
|
|
#' eta = 1, nthread = 2, nround = 2,objective = "binary:logistic")
|
|
#' raw <- xgb.save.raw(bst)
|
|
#' bst <- xgb.load(raw)
|
|
#' pred <- predict(bst, test$data)
|
|
#' @export
|
|
#'
|
|
xgb.save.raw <- function(model) {
|
|
if (class(model) == "xgb.Booster"){
|
|
model <- model$handle
|
|
}
|
|
if (class(model) == "xgb.Booster.handle") {
|
|
raw <- .Call("XGBoosterModelToRaw_R", model, PACKAGE = "xgboost")
|
|
return(raw)
|
|
}
|
|
stop("xgb.raw: the input must be xgb.Booster.handle. Use xgb.DMatrix.save to save
|
|
xgb.DMatrix object.")
|
|
}
|