使用 caret 包训练随机森林
training random forest using caret package
我想用我的训练数据来训练随机森林模型,但是出现了一些错误。
报错信息如下:
Error in train.default(x, y, weights = w, ...) :
At least one of the class levels is not a valid R variable name; This will cause errors when class probabilities
are generated because the variables names will be converted to X1, X2, X3, X4, X5, X6, X7 . Please use factor
levels that can be used as valid R variable names (see ?make.names for help).
下面是我的代码:
rf.ctrl <- trainControl(method = "repeatedcv",
number = 10,
repeats = 10,
classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(256)
#train the calssification model with random forest
rf.model <- train(as.factor(response) ~ .,data = trainvals,
method = "rf",
trControl = rf.ctrl,
tuneLength = 10,
metic = "ROC")
trainvals 的结构是:
class 响应级别为 1、2、3、4、5、6 和 7。
trainvals
数据框中的一列或多列不是因子类型,因此出现错误。您可以使用以下方法将所有列转换为因子:
trainvals[] <- lapply(trainvals, factor)
我想用我的训练数据来训练随机森林模型,但是出现了一些错误。
报错信息如下:
Error in train.default(x, y, weights = w, ...) :
At least one of the class levels is not a valid R variable name; This will cause errors when class probabilities
are generated because the variables names will be converted to X1, X2, X3, X4, X5, X6, X7 . Please use factor
levels that can be used as valid R variable names (see ?make.names for help).
下面是我的代码:
rf.ctrl <- trainControl(method = "repeatedcv",
number = 10,
repeats = 10,
classProbs = TRUE,
summaryFunction = twoClassSummary)
set.seed(256)
#train the calssification model with random forest
rf.model <- train(as.factor(response) ~ .,data = trainvals,
method = "rf",
trControl = rf.ctrl,
tuneLength = 10,
metic = "ROC")
trainvals 的结构是:
class 响应级别为 1、2、3、4、5、6 和 7。
trainvals
数据框中的一列或多列不是因子类型,因此出现错误。您可以使用以下方法将所有列转换为因子:
trainvals[] <- lapply(trainvals, factor)