📅  最后修改于: 2023-12-03 15:41:00.899000             🧑  作者: Mango
在机器学习与数据科学中,常常需要用到各种指标来对模型的效果进行评估。其中,真阳性(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
手动计算真阳性和真阴性指标是非常简单的,只需要遍历预测标签和实际标签即可。这有助于我们更好地理解这些指标的计算方法,并在需要时进行手动计算。