【发布时间】:2019-11-16 03:16:56
【问题描述】:
下面的数据框是我的总数据集的一个样本:
A B C D E target
0.2 0.5 0.6 -0.5 -0.7 1
0.9 0.7 0.4 -0.3 -0.8 0
0.1 0.3 0.5 -0.9 -0.2 0
0.2 0.5 0.6 -0.5 -0.6 1
我想在上面应用分类树,所以我使用了以下代码:
data$target<-factor(data$target)
# Create Training Data
train.ind <- sample(nrow(data), 0.7*nrow(data))
trainData<-data[train.ind,]
testData<-data[-train.ind,]
library("rpart")
tree <- rpart(target ~.,data=trainData)
ypred=predict(tree,testData)
library(caret)
#Print a confusion matrix
result <- confusionMatrix(ypred,testData$target)
错误:
data和reference应该是具有相同水平的因子。
precision <- result$byClass['Pos Pred Value']
recall <- result$byClass['Sensitivity']
f_measure <- 2 * ((precision * recall) / (precision + recall))
#OR
f_measure <-result$byClass['F1']
但它没有工作。我需要精度、召回率和 F1 值,但我不知道如何使用“rpart”包结果进行计算。
【问题讨论】:
-
究竟是什么不起作用?您是否收到错误(如果是,在哪里?)或意外结果(如果是,您为什么期待其他结果?)?
-
@jkd 我无法计算混淆矩阵。我添加了错误。
标签: r classification decision-tree rpart precision-recall