def calculate_fpr(truelabels, predictedvalues, num_samples, j):
    # 计算负例样本数量
    num_negatives = num_samples - sum(truelabels == j)
    # 计算预测为正例但实际为负例的样本数量
    false_positives = sum((truelabels != j) & (predictedvalues == j))
    # 计算FPR
    fpr = false_positives / num_negatives
    # 返回FPR
    return fpr

def calculate_tpr(truelabels, predictedvalues, num_samples, j):
    # 计算预测为正例且实际为正例的样本数量
    true_positives = sum((truelabels == j) & (predictedvalues == j))
    # 计算TPR
    tpr = true_positives / sum(truelabels == j)
    # 返回TPR
    return tpr

代码说明:

  • calculate_fpr 函数计算 FPR 指标,即 假阳性率,表示被错误预测为正例的负例样本数量占所有负例样本数量的比例。
  • calculate_tpr 函数计算 TPR 指标,即 真阳性率,表示被正确预测为正例的正例样本数量占所有正例样本数量的比例。

参数说明:

  • truelabels: 实际标签列表
  • predictedvalues: 预测标签列表
  • num_samples: 样本总数
  • j: 目标类别标签

使用示例:

# 假设真实标签和预测标签
truelabels = [0, 1, 0, 1, 0]
predictedvalues = [0, 1, 1, 0, 0]

# 计算 FPR 和 TPR 指标
fpr = calculate_fpr(truelabels, predictedvalues, len(truelabels), 1)
tpr = calculate_tpr(truelabels, predictedvalues, len(truelabels), 1)

# 打印结果
print('FPR:', fpr)
print('TPR:', tpr)

输出结果:

FPR: 0.5
TPR: 0.5

原文地址: https://www.cveoy.top/t/topic/njn4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录