R 混淆矩阵输出错误
我试图通过以下代码在R中使用决策树构建预测模型:R 混淆矩阵输出错误,r,R,我试图通过以下代码在R中使用决策树构建预测模型: library(rpart) library(caret) DataYesNo<-read.csv('DataYesNo.csv',header=T) worktrain<- sample(1:50,40) worktest <- setdiff(1:50,worktrain) M <- ncol(DataYesNo) input <- names(DataYesNo)[1:(M-1)]
library(rpart)
library(caret)
DataYesNo<-read.csv('DataYesNo.csv',header=T)
worktrain<- sample(1:50,40)
worktest <- setdiff(1:50,worktrain)
M <- ncol(DataYesNo)
input <- names(DataYesNo)[1:(M-1)]
target <- "ICUtransfer"
tree<- rpart(ICUtransfer~Temperature+RespiratoryRate+HeartRate+SystolicBP+OxygenSaturations,
data=DataYesNo[worktrain, c(input,target)],
method="class",
parms=list(split="information"),
control=rpart.control(usesurrogate=0, maxsurrogate=0))
fitted <- predict(tree, DataYesNo[worktest, c(input,target)])
cmatrix <- confusionMatrix(fitted, worktest$ICUtransfer)
print(cmatrix)
tree
plot(tree)
text(tree)
我试过这句话:
cmatrix <- confusionMatrix(fitted, DataYesNo[worktest,]$ICUtransfer)
cmatrix您得到该错误是因为worktest
没有任何称为ICUtransfer
的因子worktest
只是索引的数字向量,因此没有因子。您需要与worktest
索引对应的数据子集
不可能知道到底需要做什么,因为我看不到您使用的数据结构
不要使用worktest$ICUtransfer
尝试使用DataYesNo[worktest,c(输入,目标)]
请发布完整的错误日志/stacktrace。我厌倦了你的帖子,然后我得到了这个错误:sort中的错误。list(y):“x”必须是“sort.list”的原子。你在列表中调用过“sort”吗?好吧,因为我对你的问题域不太了解,我不能给你更多的具体信息。尝试DataYesNo[worktest]
。DataYesNo看起来像什么?我再次尝试:cmatrix:confusionMatrix中的错误。默认值(fitted,DataYesNo[worktest,]$ICUtransfer):数据和参考因子必须具有相同的levelsOk数,现在您已经正确地将其索引到矩阵中,但还有一些问题。请编辑您的问题,并将参数值添加到confusionMartix。
cmatrix <- confusionMatrix(fitted, DataYesNo[worktest,]$ICUtransfer)