使用先前训练的模型在 catboost 中进行进一步预测

Use the previously trained model for further prediction in catboost

我想找到使用 Catboost 进行分类的最佳参数。 我有训练数据和测试数据。我想 运行 算法进行 500 次迭代,然后对测试数据进行预测。接下来,我想重复此操作 600 次迭代,然后 700 次迭代,依此类推。我不想再次从迭代 0 开始。那么,有什么办法可以在 Catboost 算法中做到这一点吗?

非常感谢任何帮助!

您可以 运行 算法的最大迭代次数,然后使用 CatBoost.predict()ntree_limit 参数或 CatBoost.staged_predict() 尝试不同的迭代次数。

  1. 首先,我使用 XGB 在 R 中创建了一个预测模型。现在我想 使用 CatBoost 构建回归模型以改进结果

    超导体数据集转换为训练数据集和测试数据集

dataset_catboost20<-read.csv("train.csv")

dataset_catboost20

rows<-nrow(dataset_catboost20)

f<-0.65

upper_bound_catboost20<- floor(f*rows)

permuted_dataset_catboost20<- dataset_catboost20[sample(rows),]

train_dataset_catboost20<-permuted_dataset_catboost20[1:upper_bound_catboost20,]

train_dataset_catboost20
  1. 有28个自变量和1个因变量。现在我 使用与我在 XGB.Covert 中使用的公式相同的公式 **sparse.model.matrix 在 XGB 和 Catboost 中。在 XGB 公式中是 工作但在 Catboost 中显示错误。**

不支持的数据类型,期望 data.frame,得到:dgCMatrix

公式

train_dataset_catboost2020

y_traincatboost20=train_dataset_catboost20$critical_temp

catboost_trcontrol20<-trainControl(method="cv", number = 5,allowParallel = TRUE,verboseIter = FALSE,returnData = FALSE)
catboostGrid20 <- expand.grid(depth= c(2,6,8), learning_rate=0.1, iterations=100,
                              l2_leaf_reg=.05, rsm=.95, border_count=65)
catboost_model20 = train(
  train_dataset_catboost2020,y_traincatboost20,method = catboost.caret,
  logging_level="Silent",preProc=NULL,

  tuneGrid = catboostGrid20,trControl=catboost_trcontrol20 )