嗨,我知道之前有人问过类似的问题,但还没有明确的答案(或者我尝试了他们的解决方案但没有成功:使用 GBM 时出现插入符错误,但并非没有插入符
插入符训练方法抱怨有问题;所有 RMSE 指标值均缺失
)
我尝试使用插入符训练方法来预测分类结果(下面的在线数据示例)
library(mlbench)
data(Sonar)
str(Sonar[, 1:10])
library(caret)
set.seed(998)
Sonar$rand<-rnorm(nrow(Sonar)) ##to randomly create the new 3-category outcome
table(Sonar$rand)
Sonar$Class_new<-ifelse(Sonar$Class=="R","R",ifelse(Sonar$rand>0,"M","H"))
table(Sonar$Class_new)
fitControl <- trainControl(## 10-fold CV
method = "repeatedcv",
number = 10,
## repeated ten times
repeats = 10)
inTraining <- createDataPartition(Sonar$Class_new, p = .75, list = FALSE)
training <- Sonar[ inTraining,]
testing <- Sonar[-inTraining,]
gbmFit1 <- train(Class_new ~ ., data = training,
method = "gbm",
trControl = fitControl,
verbose = FALSE)
每当我使用新的类变量(Class_new
)有 3 个类别,而不是原来的 2 个类别Class
变量,我收到下面的警告。它在 2 个类别结果变量下运行良好。无论火车方式如何,情况都是相同的(我尝试过rf
, gbm
,svm,都一样)
出了问题;缺少所有准确度指标值:
Accuracy Kappa
Min. : NA Min. : NA
1st Qu.: NA 1st Qu.: NA
Median : NA Median : NA
Mean :NaN Mean :NaN
3rd Qu.: NA 3rd Qu.: NA
Max. : NA Max. : NA
NA's :9 NA's :9
train.default(x, y, Weights = w, ...) 中的错误:停止
另外: 警告消息:
1:在train.default(x,y,权重= w,...)中:
指标“RMSE”不在结果集中。将使用准确度来代替。
2:在nominalTrainWorkflow(x = x,y = y,wts =权重,info = trainInfo,:
重新抽样的绩效指标中存在缺失值。
非常感谢对此的任何帮助!