我想找到使用 Catboost 进行分类的最佳参数。我有训练数据和测试数据。我想运行该算法进行 500 次迭代,然后对测试数据进行预测。接下来,我想重复 600 次迭代,然后是 700 次迭代,依此类推。我不想再次从迭代 0 开始。那么,有什么办法可以在 Catboost 算法中做到这一点?
非常感谢任何帮助!
我想找到使用 Catboost 进行分类的最佳参数。我有训练数据和测试数据。我想运行该算法进行 500 次迭代,然后对测试数据进行预测。接下来,我想重复 600 次迭代,然后是 700 次迭代,依此类推。我不想再次从迭代 0 开始。那么,有什么办法可以在 Catboost 算法中做到这一点?
非常感谢任何帮助!
您可以运行该算法以获得最大迭代次数,然后使用CatBoost.predict()
withntree_limit
参数或CatBoost.staged_predict()
尝试不同的迭代次数。
首先,我使用 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
不支持的数据类型,期望 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 )