如何计算R语言生成的混淆矩阵的准确率与错误率
混淆矩阵准确率与错误率计算方法
核心逻辑
你生成的混淆矩阵cm结构为「行=预测类别,列=真实类别」,两个指标的计算规则如下:
- 准确率:所有样本中分类正确的占比,计算公式为 混淆矩阵对角线元素之和(正确分类样本数)/ 所有元素之和(总样本数)
- 错误率:所有样本中分类错误的占比,计算公式为 混淆矩阵非对角线元素之和(错误分类样本数)/ 所有元素之和(总样本数),二者满足关系:
准确率 = 1 - 错误率
你的数据计算结果
针对你给出的混淆矩阵,直接计算可得:
- 正确分类样本数:126 + 483 + 1413 + 90 + 6566 + 1899 + 1994 + 375 = 12946
- 总样本数:所有元素求和为16149
- 准确率≈12946/16149≈80.17%
- 错误率≈1-80.17%≈19.83%
R代码实现
你可以直接基于已经生成的cm对象运行以下代码得到结果:
# 计算准确率 accuracy <- sum(diag(cm)) / sum(cm) # 计算错误率两种方式 error_rate <- 1 - accuracy error_rate_direct <- (sum(cm) - sum(diag(cm))) / sum(cm) # 输出保留两位小数的百分比结果 cat("准确率:", round(accuracy*100, 2), "%\n", sep = "") cat("错误率:", round(error_rate*100, 2), "%\n", sep = "")
内容的提问来源于stack exchange,提问作者user16596066
相关产品推荐
相关产品推荐

