首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预测模型决策树

预测模型决策树
EN

Stack Overflow用户
提问于 2015-04-23 10:55:35
回答 2查看 236关注 0票数 0

我想使用R中的决策树分类来构建一个预测模型。我使用了以下代码:

代码语言:javascript
复制
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包中获得它们吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-23 13:50:20

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

就像这样..。

代码语言:javascript
复制
predictions <- predict(tree, worktest)
cmatrix <- confusionMatrix(predictions, worktest$YesNo)
print(cmatrix)
票数 0
EN

Stack Overflow用户

发布于 2015-04-23 17:32:48

一旦你创建了一个混淆矩阵,还可以获得其他度量--我现在不记得了。

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

代码语言:javascript
复制
fitted <- predict(tree, DataYesNo[worktest, c(input,target)])
actual <- DataYesNo[worktest, c(target)]
confusion <- table(data.frame(fitted = fitted, actual = actual))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29818582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档