Похоже, вы используете пакет caret для обучения. В этом случае похоже, что пакет caret не передает никаких дополнительных аргументов в функцию catboost.train, поэтому он может не поддерживать функциональность графического процессора. Из кода в карете для этого метода видно, что аргумент ... не передается в функцию catboost.train.
#' Fit model based on input data
#'
#' @param x, y: the current data used to fit the model
#' @param wts: optional instance weights (not applicable for this particular model)
#' @param param: the current tuning parameter values
#' @param lev: the class levels of the outcome (or NULL in regression)
#' @param last: a logical for whether the current fit is the final fit
#' @param weights: weights
#' @param classProbs: a logical for whether class probabilities should be computed
#'
#' @noRd
catboost.caret$fit <- function(x, y, wts, param, lev, last, weights, classProbs, ...) {
param <- c(param, list(...))
if (is.null(param$loss_function)) {
param$loss_function <- "RMSE"
if (is.factor(y)) {
param$loss_function <- "Logloss"
if (length(lev) > 2) {
param$loss_function <- "MultiClass"
}
y <- as.double(y) - 1
}
}
test_pool <- NULL
if (!is.null(param$test_pool)) {
test_pool <- param$test_pool
if (class(test_pool) != "catboost.Pool")
stop("Expected catboost.Pool, got: ", class(test_pool))
param <- within(param, rm(test_pool))
}
pool <- catboost.from_data_frame(x, y, weight = wts)
model <- catboost.train(pool, test_pool, param)
model$lev <- lev
return(model)
}
В зависимости от вашего уровня владения R Кроме того, вы можете добавить свою собственную модель в каретку , скопировав модель в расположение каретки GitHub и изменив ее так, чтобы она принимала аргумент графического процессора, который должен go в списке параметров для их документации.