我生成的混淆矩阵通常为 2x2(0 AND 1 的预测值和实际值),但有时会为 1x2(0 AND 1 的实际值,但预测值仅为 0 OR 1)。我使用表函数为:
CONF_MATRIX <- table(predicted_values, actual_values)
我想手动计算每个矩阵的准确性
((TP + TN) / (TP + TN + FP + FN))
。我猜像下面这样的东西会起作用:
Accuracy <- (CONF_MATRIX["0", "0"] + CONF_MATRIX["1", "1"]) / sum(CONF_MATRIX))
但首先必须检查
CONF_MATRIX["0", "0"]
和 CONF_MATRIX["1", "1"]
是否存在。请建议可以计算两种可能情况的准确性的代码。
分子可计算为:
for (j in 1:nrow(CONF_MATRIX))
{SUM_CORRECT <- SUM_CORRECT + CONF_MATRIX[rownames(CONF_MATRIX)[j], rownames(CONF_MATRIX)[j]]
}