关于混淆矩阵的混淆

数据挖掘 分类 混淆矩阵
2022-03-09 00:13:33

我对如何表示混淆矩阵感到困惑——将 FP 和 FN 放在哪里。Link1Link2显示了不同的二元分类混淆矩阵。行代表实际值,列代表预测值。根据我的理解,正确的混淆矩阵应该是:

                        | Pred Neg| Pred Pos
                        |___________________
Actual Negative(class0) |  TN     |  FP
------------------      |-------------
Actual Positive(Class1) | FN      | TP

其中 TN(0 类)表示正确识别的正常模式的数量。TP(1 级)表示正确识别的恶性模式的数量。另一方面,FP 表明分类器预测签名是恶性的,而实际上它是正常的。

Precision=TPTP+FP , ,Recall or TPR=TPTP+FN

问题1:我对混淆矩阵的理解和构造是否正确?

问题2:Precision和Recall之间的直观区别是什么?如果精度<召回会发生什么?

1个回答

问题一:我对混淆矩阵的理解和构造是否正确?

是的,您的定义和构建混淆矩阵的方式是正确的。您提供的链接也相互一致。他们只是切换行和列,因为没有关于表示的硬性规则,只要保持正确的关系。

链接 1 显示了这个矩阵:

          | Pos Class | Neg Class
Pos Pred  |    TP     |    FP
Neg Pred  |    FN     |    TN

链接 2 显示了相同的矩阵,但已转置:

          | Pos Pred  | Neg Pred
Pos Class |    TP     |    FN
Neg Class |    FP     |    TN

问题2:Precision和Recall之间的直观区别是什么?

精度是当你预测一个正类时你正确的比率。它会考虑所有的积极预测,并确定其中哪些比例实际上是正确的。当你的精确度很高时,这意味着一旦你做出了积极的预测,你很可能是正确的。这并没有说明您的负面预测有多正确——您可能对 100 个实际正面做出 1 个正面预测和 99 个负面预测,并且仍然获得 100% 的准确度,因为您唯一的正面预测恰好是正确的。

召回率是您能够正确预测正类的比率。它考虑了所有实际的正类,并计算出你正确预测的那些比例。当您的召回率很高时,这意味着很少有实际的积极因素会被您的模型漏掉而未被检测到。这并没有说明你在积极预测方面有多准确——一个总是预测一个积极类别的模型很容易实现 100% 的召回率。

人们通常通过在两者之间找到最可接受的平衡来努力优化精度和召回率。您可能想阅读这篇关于 Precision-Recall 曲线的文章,以更全面地了解这些指标之间的关系。

如果精度<召回会发生什么?

正如您在帖子中强调的那样,这两个公式仅在分母上有所不同。因此,当精度小于召回率时,预测中误报的数量大于误报的数量。