gpt4 book ai didi

r - 使用 confusionMatrix 计算 Precision、Recall 和 F-Score

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:36:17 29 4
gpt4 key购买 nike

我们开发了一种算法,可以根据加速度计数据检测每台阻力训练机的重复次数。人们总是每台机器执行 10 次重复 2 次。

n people x 10 repetitions x 2 sets = total amount of repetitions performed .

现在,我想用confusionMatrixcaret 包。

我制作了一个 xlsx 文件,其中两行代表真实的(上行)和算法预测的重复次数(下行),如图所示:

enter image description here

我编写了以下代码:

reps_prec_phone1<- read.xlsx("Reps_for_Precision_Recall_FSCORE.xlsx", sheet =  "2Vec_Phone1", startRow = 0, colNames = FALSE) 
reps_prec_pred_phone1<-as.factor(reps_prec_phone1[1,])
reps_prec_real_Phone1<-as.factor(reps_prec_phone1[2,])

result_phone1 <- confusionMatrix(reps_prec_pred_phone1, reps_prec_real_Phone1, mode="prec_recall")

结果是这样的:

enter image description here

如您在 confusionMatrix 中所见,计算了 385 组(1 组包含 10 次重复)而不是 3850 重复。现在我想知道,从方法上讲,我怎样才能让 confusionMatrix 计算重复次数而不是组数。

在我的例子中,错误率为 1-Accuracy = 2.5%。因为 1 组包含 10 次重复。由于设置与重复是 10 的因数,我可以简单地将错误率除以 10 并重新计算精度 1-0.0025 = 0.9975。然而,

  • 有谁知道如何使用 confusionMatrix 解决这个问题?

提前感谢您的脑力和经验!

最佳答案

有一个理论上的错误。

混淆矩阵用于比较给定的观察值和预测值,R 将您的数据转换为因子,然后您的值 {10,11} 被解释为水平该因素不是数值,然后 R 计算领带。简而言之,您对混淆矩阵的概念是错误的

此外,任何模型都会执行有偏差的预测,因为您的数据极度不平衡,简而言之,没有什么可预测的

那么,您没有编程问题,它更像是一个理论问题。访问 Stack Exchange 以清除您的想法。

Visit me!

关于r - 使用 confusionMatrix 计算 Precision、Recall 和 F-Score,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57378413/

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