📜  从混淆矩阵中得到真正的否定 (1)

📅  最后修改于: 2023-12-03 14:49:26.305000             🧑  作者: Mango

从混淆矩阵中得到真正的否定

混淆矩阵是评估分类器的性能的一种常用方法。它将模型的预测结果与真实标签进行比较,以生成四个度量值:真阳性(true positives,TP)、假阳性(false positives,FP)、真阴性(true negatives,TN)和假阴性(false negatives,FN)。

在分类问题中,真正(true negative,TN)表示模型正确地将负类标记为负类,而真假(false negative,FN)表示模型将负类标记为正类。 因此,程序员通常需要了解如何从混淆矩阵中获取真负。

假设以下混淆矩阵:

| | Positive | Negative | | - | -------- | -------- | | Positive | 950 | 50 | | Negative | 100 | 900 |

根据上面的混淆矩阵,真正的否定可计算如下:

真负(True Negatives,TN)= $900/(1000)$ = 0.9

可以看到,该模型在全部数据中判断负类的准确率达到了 0.9,这是一个比较好的结果。

下面是 Python 代码示例,可以用于计算真负:

def true_negatives(confusion_matrix):
    """
    从混淆矩阵中获取真负
    :param confusion_matrix: array, shape = [n_classes, n_classes]
        混淆矩阵.
    :return: float
        真负率.
    """
    tn = confusion_matrix[1, 1] / np.sum(confusion_matrix[1])
    return tn

以上代码片段为 Python 函数代码,输入混淆矩阵,可以返回真负率。下面是如何调用这个函数的例子:

>>> confusion_matrix = np.array([[950, 50], [100, 900]])
>>> true_negatives(confusion_matrix)
0.9

总之,了解混淆矩阵的概念以及如何从中获取真负是很有用的技能,因为它可以帮助程序员评估分类器的准确性,并帮助他们了解模型分类错误的原因。