预测模型决策树

时间:2015-04-23 02:55:35

标签: r r-caret

我想在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)和两个叶子(yesno)。我不确定这个结果。如何获得混淆矩阵,准确性,灵敏度和特异性? 我可以使用caret包裹获取它们吗?

2 个答案:

答案 0 :(得分:0)

如果您使用模型对测试集进行预测,则可以使用confusionMatrix()来获取您正在寻找的衡量标准。

像这样......

predictions <- predict(tree, worktest)
cmatrix <- confusionMatrix(predictions, worktest$YesNo)
print(cmatrix)

答案 1 :(得分:0)

一旦你创建了混淆矩阵,也可以获得其他措施 - 我暂时不记得它们。

根据您的示例,可以获得如下混淆矩阵。

fitted <- predict(tree, DataYesNo[worktest, c(input,target)])
actual <- DataYesNo[worktest, c(target)]
confusion <- table(data.frame(fitted = fitted, actual = actual))