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