r-如何计算精度F1分数精度灵敏度等



我正在努力学习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   

最新更新