调整Caret包中随机森林的两个参数

j

当我只使用mtryparameter作为时tuingrid,它起作用,但是当我添加ntreeparameter时,错误变成了Error in train.default(x, y, weights = w, ...): The tuning parameter grid should have columns mtry代码如下:

require(RCurl)
require(prettyR)
library(caret)
url <- "https://raw.githubusercontent.com/gastonstat/CreditScoring/master/CleanCreditScoring.csv"
cs_data <- getURL(url)
cs_data <- read.csv(textConnection(cs_data))
classes <- cs_data[, "Status"]
predictors <- cs_data[, -match(c("Status", "Seniority", "Time", "Age", "Expenses", 
    "Income", "Assets", "Debt", "Amount", "Price", "Finrat", "Savings"), colnames(cs_data))]

train_set <- createDataPartition(classes, p = 0.8, list = FALSE)
set.seed(123)

cs_data_train = cs_data[train_set, ]
cs_data_test = cs_data[-train_set, ]

# Define the tuned parameter
grid <- expand.grid(mtry = seq(4,16,4), ntree = c(700, 1000,2000) )

ctrl <- trainControl(method = "cv", number = 10, summaryFunction = twoClassSummary,classProbs = TRUE)

rf_fit <- train(Status ~ ., data = cs_data_train,
                    method = "rf",
                    preProcess = c("center", "scale"),
                    tuneGrid = grid,
                    trControl = ctrl,         
                   family= "binomial",
                   metric= "ROC" #define which metric to optimize metric='RMSE'
               )
rf_fit
Chirayu Chamoli

您必须使用随机森林包创建自定义RF,然后包含要包含的参数。

customRF <- list(type = "Classification", library = "randomForest", loop = NULL)
customRF$parameters <- data.frame(parameter = c("mtry", "ntree"), class = rep("numeric", 2), label = c("mtry", "ntree"))
customRF$grid <- function(x, y, len = NULL, search = "grid") {}
customRF$fit <- function(x, y, wts, param, lev, last, weights, classProbs, ...) {
    randomForest(x, y, mtry = param$mtry, ntree=param$ntree, ...)
}
customRF$predict <- function(modelFit, newdata, preProc = NULL, submodels = NULL)
    predict(modelFit, newdata)
customRF$prob <- function(modelFit, newdata, preProc = NULL, submodels = NULL)
    predict(modelFit, newdata, type = "prob")
customRF$sort <- function(x) x[order(x[,1]),]
customRF$levels <- function(x) x$classes
customRF

然后,您可以在训练功能中将方法用作[customRF]。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python中两个参数的乘法

来自分类Dev

随机森林包预测,newdata参数?

来自分类Dev

随机选择列表中的两个元素

来自分类Dev

鼠标r包中执行随机森林时出错

来自分类Dev

Swift中两个小数之间的随机数

来自分类Dev

Python中的随机森林

来自分类Dev

闭包函数laravel的两个参数

来自分类Dev

使用Caret和Neuronet软件包调整带有两个输出变量的神经网络时的差异

来自分类Dev

带有两个参数包的模糊函数调用

来自分类Dev

插入符号包中的“随机森林”错误

来自分类Dev

如何发布流星集合中的两个随机项目?

来自分类Dev

分配参数参数包以调用两个函子

来自分类Dev

如何使用Caret包调整多个参数?

来自分类Dev

从Twig的列表中获得两个随机项

来自分类Dev

具有两个参数的C ++参数包递归

来自分类Dev

连接两个类型的可变参数模板包

来自分类Dev

R中的%in%函数,两个参数

来自分类Dev

如何从两个参数函数返回随机整数

来自分类Dev

随机森林包预测,newdata参数?

来自分类Dev

Python中的随机森林

来自分类Dev

比较Jquery中的两个参数

来自分类Dev

插入符号包中的“随机森林”错误

来自分类Dev

推导可变函数内不同参数包中的两个不同的已知类型变量

来自分类Dev

如何发布Meteor集合中的两个随机项目?

来自分类Dev

R's Caret软件包混淆了线性模型(lm)和随机森林

来自分类Dev

检查 ColdFusion 中的两个参数?

来自分类Dev

调整两个查询

来自分类Dev

随机森林搜索参数中hyperopt的ValueError

来自分类Dev

如何找到两个随机参数的最佳组合