混淆矩阵代码实现-python

本文深入解析混淆矩阵的概念及其实现方式,详细介绍真正例、伪正例、伪反例和真反例的含义,并通过代码示例展示了如何计算查准率、查全率和F1值等评估指标。理解这些概念对于评估机器学习模型的性能至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

混淆矩阵

真实值 1真实值0
预测值 1真正例 TP伪正例 FP
预测值 0伪反例 FN真反例TN

查准率/正确率 :
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
查全率/召回率 :
R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
F值:正确率和召回率的调和平均值
F 1 = 2 P R P + R F1 = \frac{2PR}{P+R} F1=P+R2PR

代码实现

def precision_recall(gt, preds):
    '''
    input: gt(ground_truth), preds(predictions)
    output: precision, recall
    '''
    TP = 0
    FP = 0
    FN = 0
    for t in gt:
        if t in preds:
            TP += 1
        else:
            FN += 1
    for p in preds:
        if p not in gt:
            FP += 1
    if TP+FP == 0:
        precision = 0
    else:
        precision = TP/float(TP+FP)
    if TP+FN == 0:
        recall = 0
    else:
        recall = TP/float(TP+FN)
    return precision, recall

参考链接:DeepLearningProject

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值