3

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

非常感谢任何帮助!

4

2 回答 2

0

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

于 2017-08-30T09:44:02.400 回答
0
  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 中相同的公式。将公式转换为XGB 和 Catboost 中的 **sparse.model.matrix。在 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 )
于 2019-03-05T05:43:23.340 回答