gpt4 book ai didi

r - ROSE包中的潜在BUG : Difference in accuracy, R中的召回率和精度

转载 作者:行者123 更新时间:2023-11-30 09:09:25 27 4
gpt4 key购买 nike

当我使用 Rose 库计算度量时,我得到了召回率、精度和 F1 的度量。然而,当我手动计算时,召回率和精确率测量有所不同。怎么会这样?

install.packages("ROSE")
library(ROSE)
library(rpart)


s = sample(957,200)
training = data[-s,]
test = data[s,]

### Rose
treeimb <- rpart(Riskdrinker ~ ., data = training)
pred.treeimb <- predict(treeimb, newdata = test)
accuracy.meas(test$Riskdrinker, pred.treeimb[,2])

输出

Call: accuracy.meas(response = test$Riskdrinker, predicted = pred.treeimb[, 2])

Examples are labelled as positive when predicted is greater than 0.5

precision: 0.919 recall: 0.943 F: 0.465

但是,当我像这样计算这些度量时,我会得到其他精确度和召回率结果。

treeimb <- rpart(Riskdrinker ~ ., data = training)
pred.treeimb <- predict(treeimb, newdata = test)
pred <- predict(treeimb, newdata = test, type="class")
confMat <- table(test$Riskdrinker, pred)

#Precision
message("Precision: ", specify_decimal(confMat[1,1] / (confMat[1,1] + confMat[2,1])*100, 1), " %")


#Recall
message("Recall: ", specify_decimal(confMat[1] / (confMat[1] + confMat[1,2])*100, 1), " %")

#Accuracy
message("Accuracy: ", specify_decimal((confMat[1]+confMat[2,2]) / (confMat[1] + confMat[1,2] + confMat[2,1] + confMat[2,2])*100, 1), " %")

或者像这样。一样一样。

准确度<- sum(diag(confMat))/sum(confMat)

这会导致:

  • Precision: 76.9 %
  • Recall: 69.8 %
  • Accuracy: 89.0 %

与代码的主要区别是我在其中一种情况下使用了 type="class",但是是什么造成了这种区别呢?你能从Rose那里得到一个矩阵吗?我想说这是一个可重现的例子,除非我放弃我的数据集 ofc。

最佳答案

我用Rose包做了一些实验,发现他们确实做错了。

这是他们的 .meas 函数的一些打印结果:

negatives: 21.8284728768508
n.negatives 45
postives 135.677199132703
n.positives 155
TP: 143
FP 16
TN 29
FN 12

与我的表格比较混淆矩阵

pred <- predict(treeimb, newdata = test, type="class")
confMat <- table(pred, test$Riskdrinker)

Reference
Prediction Ja Nej
Ja 29 12
Nej 16 143

我们可以看到他们的TP和TN是错误的。

关于r - ROSE包中的潜在BUG : Difference in accuracy, R中的召回率和精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43904314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com