我已经使用caret
包训练了一个随机森林,用于预测二进制分类任务。如何获得预测的类而不是类概率?
library(caret)
set.seed(78)
inTrain <- createDataPartition(disambdata$Response, p=3/4, list = FALSE)
trainSet <- disambdata[inTrain,]
testSet <- disambdata[-inTrain,]
ctrl <- trainControl(method = "repeatedcv", number = 10, repeats = 10)
grid_rf <- expand.grid(.mtry = c(3,5,7,9))
set.seed(78)
m_rf <- train(Response ~ ., data=trainSet,
method= "rf", metric = "Kappa", trcontrol=ctrl, tuneGrid = grid_rf)
的Response
变量包含值{Valid
,Invalid
}。 使用我得到的类概率测试数据如下:
pred <- predict.train(m_rf, newdata = testSet,
type="prob", models=m_rf$finalModel)
然而我感兴趣的,获得预测类即Valid
或Invalid
,而不是阶级概率到产生混淆矩阵。
我已经在predict.train
函数中尝试过参数type="raw"
,但它返回的列表为NAs
。
如果它是一个错误,请在github的脱字符页面上报告它。 – phiver
@phiver,是的,我打算报告它,因为它报道的包装符号的旧版本之一。版本的版本说明(6.0-70)提到此问题已得到解决。无论如何,我会报告在github上的错误 –