Python分类检测问题的常用指标 - TPR TNR TPR f1-score

1. fpr tpr等五个指标记录

def calculate_fpr_tpr_tnr_f1score_accuracy(y_true, y_pred):
    '''
    y_true 和 y_pred均是ndarray类型。
    '''
    y_true = y_true.flatten()
    y_pred = y_pred.flatten()
    Tp = 0
    Fp = 0
    Tn = 0
    Fn = 0
    for label, pred in zip(y_true, y_pred):
        if (label == 0) and (pred == 0):
            Tp = Tp + 1
        elif (label == 1) and (pred == 0):
            Fp = Fp + 1
        elif (label == 1) and (pred == 1):
            Tn = Tn + 1
        elif (label == 0) and (pred == 1):
            Fn = Fn + 1
        else:
            print('something weird with labels')
            return -1
            # sys.exit()
    # calculate precision, recall, accuracy, f1
    # it's possible for division by zero in some of these cases, so do a try/except
    try:
        precision = Tp / (Tp + Fp)
    except:
        precision = 0
    try:
        recall = Tp / (Tp + Fn)
    except:
        recall = 0
    try:
        accuracy = (Tn + Tp) / (Tn + Tp 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值