我想使用R中的决策树分类来构建一个预测模型。我使用了以下代码:
library(rpart)
library(caret)
DataYesNo <- read.csv('DataYesNo.csv', header=T)
summary(DataYesNo)
worktrain <- sample(1:50, 40)
worktest <- setdiff(1:50, worktrain)
DataYesNo[worktrain,]
DataYesNo[worktest,]
M <- ncol(DataYesNo)
input <- names(DataYesNo)[1:(M-1)]
target <- “YesNo”
tree <- rpart(YesNo~Var1+Var2+Var3+Var4+Var5,
data=DataYesNo[worktrain, c(input,target)],
method="class",
parms=list(split="information"),
control=rpart.control(usesurrogate=0, maxsurrogate=0))
summary(tree)
plot(tree)
text(tree) 我只得到了一个根(Var3)和两个叶(yes,no)。我对这个结果不太确定。如何获得混淆矩阵、准确性、敏感度和特异性?我可以在caret包中获得它们吗?
发布于 2015-04-23 13:50:20
如果您使用模型对测试集进行预测,则可以使用confusionMatrix()来获得您正在寻找的度量。
就像这样..。
predictions <- predict(tree, worktest)
cmatrix <- confusionMatrix(predictions, worktest$YesNo)
print(cmatrix)发布于 2015-04-23 17:32:48
一旦你创建了一个混淆矩阵,还可以获得其他度量--我现在不记得了。
根据您的示例,可以按如下方式获得混淆矩阵。
fitted <- predict(tree, DataYesNo[worktest, c(input,target)])
actual <- DataYesNo[worktest, c(target)]
confusion <- table(data.frame(fitted = fitted, actual = actual))https://stackoverflow.com/questions/29818582
复制相似问题