用R计算准确率、召回率、精确率、F1分数
时间: 2023-09-25 21:15:29 浏览: 475
在R语言中,可以使用混淆矩阵(confusion matrix)来计算准确率、召回率、精确率、F1分数。
首先,我们需要创建一个混淆矩阵,混淆矩阵包含了分类器对样本的分类情况。假设我们有一个二分类问题,分类器的预测结果和实际结果如下:
```r
predicted <- c(1, 0, 1, 1, 0, 1, 0, 1, 1, 1)
actual <- c(1, 0, 1, 0, 1, 0, 1, 0, 1, 0)
```
我们可以使用`table()`函数来创建混淆矩阵:
```r
cm <- table(predicted, actual)
cm
```
输出结果:
```
actual
predicted 0 1
0 2 2
1 2 4
```
接下来,我们可以计算准确率、召回率、精确率、F1分数:
```r
# 准确率
accuracy <- sum(diag(cm))/sum(cm)
accuracy
# 召回率
recall <- cm[2, 2]/sum(cm[2, ])
recall
# 精确率
precision <- cm[2, 2]/sum(cm[, 2])
precision
# F1分数
f1 <- 2*precision*recall/(precision + recall)
f1
```
输出结果:
```
[1] 0.6
[1] 0.6666667
[1] 0.6666667
[1] 0.6666667
```
因此,这个分类器在这个数据集上的准确率为0.6,召回率为0.67,精确率为0.67,F1分数为0.67。
阅读全文