📜  真阳性真阴性手动 - Python (1)

📅  最后修改于: 2023-12-03 15:41:00.899000             🧑  作者: Mango

真阳性、真阴性手动 - Python

在机器学习与数据科学中,常常需要用到各种指标来对模型的效果进行评估。其中,真阳性(True Positive)和真阴性(True Negative)是常见的指标之一。本文将介绍如何手动计算真阳性和真阴性指标。

计算真阳性和真阴性

在分类问题中,真阳性(True Positive)表示实际为正类的样本被正确地预测为正类的数量,真阴性(True Negative)则表示实际为负类的样本被正确地预测为负类的数量。

例如,假设我们有如下的分类结果和实际标签:

| 预测标签 | 实际标签 | | --- | --- | | 1 | 1 | | 0 | 0 | | 1 | 1 | | 0 | 1 | | 1 | 0 | | 0 | 0 | | 1 | 1 | | 1 | 1 | | 1 | 1 | | 0 | 0 |

我们将预测标签中为1的样本视为正类,为0的样本视为负类。那么,真阳性的数量为4(第1、3、7、8个样本),真阴性的数量为3(第2、6、10个样本)。

下面是一个Python函数,可以接受预测标签和实际标签,返回真阳性和真阴性的数量:

def calculate_tp_tn(predict, actual):
    tp, tn = 0, 0
    for p, a in zip(predict, actual):
        if p == 1 and a == 1:
            tp += 1
        elif p == 0 and a == 0:
            tn += 1
    return tp, tn
测试真阳性和真阴性

为了测试这个函数的性能,我们可以用上面的例子来调用这个函数:

predict = [1, 0, 1, 0, 1, 0, 1, 1, 1, 0]
actual = [1, 0, 1, 1, 0, 0, 1, 1, 1, 0]

tp, tn = calculate_tp_tn(predict, actual)

print('真阳性:', tp)
print('真阴性:', tn)

运行结果如下:

真阳性: 4
真阴性: 3
结论

手动计算真阳性和真阴性指标是非常简单的,只需要遍历预测标签和实际标签即可。这有助于我们更好地理解这些指标的计算方法,并在需要时进行手动计算。