r - 如何计算 Accuracy F1-Score Precision Sensitivity 等
问题描述
我正在尝试学习 R。所以我在互联网上发现了一些做法,这就是其中之一。我想从这段代码中计算准确度、F1 分数、精度、灵敏度等。但我什至无法计算混淆矩阵。我应该怎么办?任何人的帮助
net = neuralnet(formul,data=train_data,hidden=5,linear.output=FALSE)
plot(net)
predict_net_test <- compute(net,test_data[,1:9])
predict_result<-round(predict_net_test$net.result, digits = 0)
net.prediction = c("benign", "malignant")[apply(predict_result, 1, which.max)]
predict.table = table(cleanedData$Class[-index], net.prediction)
predict.table
CrossTable(x = cleanedData$Class[-index], y = net.prediction,
prop.chisq=FALSE)
解决方案
不太清楚为什么要从另一个数据框cleanedData
以及您正在使用的包中调用实际标签。请在将来提供它们。您有混淆矩阵,只需将其输入插入符号的confusionMatrix()
统计信息中,例如:
library(caret)
library(neuralnet)
dat = data.frame(matrix(runif(1000),100))
dat$Class = sample(c("benign", "malignant"),100,replace=TRUE)
dat$Class = factor(dat$Class)
train_data = dat[1:70,]
test_data = dat[71:100,]
net = neuralnet(Class ~ .,data=train_data,hidden=5,linear.output=FALSE)
predict_net_test = c("benign", "malignant")[max.col(predict(net,test_data))]
您需要先进行预测:
predict.table = table(predict_net_test,test_data$Class)
然后:
confusionMatrix(predict.table,positive="malignant")
predict_net_test benign malignant
benign 5 7
malignant 10 8
Accuracy : 0.4333
95% CI : (0.2546, 0.6257)
No Information Rate : 0.5
P-Value [Acc > NIR] : 0.8192
Kappa : -0.1333
Mcnemar's Test P-Value : 0.6276
Sensitivity : 0.5333
Specificity : 0.3333
Pos Pred Value : 0.4444
Neg Pred Value : 0.4167
Prevalence : 0.5000
Detection Rate : 0.2667
Detection Prevalence : 0.6000
Balanced Accuracy : 0.4333
'Positive' Class : malignant
对于精确召回,请执行以下操作:
confusionMatrix(predict.table,positive="malignant",mode = "prec_recall")
Confusion Matrix and Statistics
predict_net_test benign malignant
benign 3 8
malignant 10 9
Accuracy : 0.4
95% CI : (0.2266, 0.594)
No Information Rate : 0.5667
P-Value [Acc > NIR] : 0.9782
Kappa : -0.2442
Mcnemar's Test P-Value : 0.8137
Precision : 0.4737
Recall : 0.5294
F1 : 0.5000
Prevalence : 0.5667
Detection Rate : 0.3000
Detection Prevalence : 0.6333
Balanced Accuracy : 0.3801
'Positive' Class : malignant
推荐阅读
- xcode - Final Cut Pro X 工作流程扩展是如何开发的?有没有其他方法可以将视频从 Final Cut Pro X 直接导出/导入到另一个应用程序?
- android - 如何使用内部片段更改 CollapsingToolbarLayout 的高度?
- reactjs - 你不应该使用
和 在同一条路线上; 将被忽略 - qt - QWebEngineUrlRequestInterceptor - 获取内容响应
- bash - 打印除当前用户的所有终端
- linux - Docker - 无法使用 docker buildx 构建多平台映像
- python - 这个网站可以用 BeautifulSoup 抓取吗?
- google-cloud-platform - 谷歌云功能构建失败
- awk - awk 从数组中获取唯一元素
- r - 如何在并行包的“应用”函数中将行更改分配给现有矩阵