tpr、fpr和far、val含义及计算总结

tpr和fpr含义及其具体计算方法见下列代码段:

def calculate_accuracy(threshold, dist, actual_issame):
    predict_issame = np.less(dist, threshold)
    tp = np.sum(np.logical_and(predict_issame, actual_issame))
    fp = np.sum(np.logical_and(predict_issame, np.logical_not(actual_issame)))

    tn = np.sum(np.logical_and(np.logical_not(predict_issame), np.logical_not(actual_issame)))
    fn = np.sum(np.logical_and(np.logical_not(predict_issame), actual_issame))
  
    tpr = 0 if (tp+fn == 0) else float(tp) / float(tp+fn)    # 正确预测的正样本占原始样本中正类的概率
    fpr = 0 if (fp+tn == 0) else float(fp) / float(fp+tn)    # 错误预测的正样本占原始样本中负类的概率
    acc = float(tp+tn)/dist.size
    return tpr, fpr, acc

val和far含义及其具体计算方法见下列代码段:

def calculate_val_far(threshold, dist, actual_issame):

    predict_issame = np.less(dist, threshold)
    true_accept = np.sum(np.logical_and(predict_issame, actual_issame))
    false_accept = np.sum(np.logical_and(predict_issame, np.logical_not(actual_issame)))
    n_same = np.sum(actual_issame)
    n_diff = np.sum(np.logical_not(actual_issame))
    val = float(true_accept) / float(n_same)    # 正确预测为正类的样本数占原始样本中正类样本的数量
    far = float(false_accept) / float(n_diff)   # 错误预测为正类的样本数占原始样本中负类样本的数量
    return val, far

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值