我有一段时间没有使用过R,所以也许我还不习惯它,但是..我有一张桌子在R有两个圆柱,第一个已预测值(一个值可以是0或1),第二个具有实际值(也是0或1)。我需要找到回忆,精确度和f-度量,但在R中找不到它的好函数(我也读过关于ROCR的内容,但我所能做的只是创建一些情节,但我确实不需要剧情,我需要数字)。精确度,召回率和f值在R
R有没有什么好的功能可以找到精确度,召回率和f-measure? 有没有什么不同的方法来做到这一点?
我有一段时间没有使用过R,所以也许我还不习惯它,但是..我有一张桌子在R有两个圆柱,第一个已预测值(一个值可以是0或1),第二个具有实际值(也是0或1)。我需要找到回忆,精确度和f-度量,但在R中找不到它的好函数(我也读过关于ROCR的内容,但我所能做的只是创建一些情节,但我确实不需要剧情,我需要数字)。精确度,召回率和f值在R
R有没有什么好的功能可以找到精确度,召回率和f-measure? 有没有什么不同的方法来做到这一点?
首先创建一个数据集作为
> predict <- sample(c(0, 1), 20, replace=T)
> true <- sample(c(0, 1), 20, replace=T)
我想那些1的在预测值是检索。的检索的总数是
> retrieved <- sum(predict)
精密其获取的实例是相关的分数,是
> precision <- sum(predict & true)/retrieved
召回其是被检索相关实例的分数,是
> recall <- sum(predict & true)/sum(true)
F-measure是2 * precision * recall /(precision + recall)是
> Fmeasure <- 2 * precision * recall/(precision + recall)
只是包装帕特里克伟大回答整齐成一个函数...
measurePrecisionRecall <- function(predict, actual_labels){
precision <- sum(predict & actual_labels)/sum(predict)
recall <- sum(predict & actual_labels)/sum(actual_labels)
fmeasure <- 2 * precision * recall/(precision + recall)
cat('precision: ')
cat(precision * 100)
cat('%')
cat('\n')
cat('recall: ')
cat(recall * 100)
cat('%')
cat('\n')
cat('f-measure: ')
cat(fmeasure * 100)
cat('%')
cat('\n')
}
在我开始这个任务,我也没有。 (http://en.wikipedia.org/wiki/Precision_and_recall#F-measure) – Fanny
我在https://stackoverflow.com/a/36843900/6105797回答了类似的问题 –