#P4538.第2题-基于混淆矩阵,推导分类模型的核心评估指标

第2题-基于混淆矩阵,推导分类模型的核心评估指标 - problem_ide - CodeFun2000

python 复制代码
import sys
import numpy as np

def solve():
    pred = list(map(int,input().split()))
    trueY = list(map(int,input().split()))
    weights = list(map(float,input().split()))

    n = len(weights)
    m = len(pred)
    #print(n)
    #print(m)
    precision = [0 for _ in range(n)]
    recall = [0 for _ in range(n)]
    f1 = [0 for _ in range(n)]

    for i in range(n):
        TP = 0
        FP = 0
        FN = 0
        
        for j in range(m):
            if(trueY[j]==i or pred[j]==i):
                if(pred[j] == trueY[j]):
                    TP +=1
                elif(pred[j]==i and trueY[j]!=i):
                    FP+=1
                elif(pred[j]!=i and trueY[j]==i):
                    FN+=1
        
        if((TP+FP)!=0):
            precision[i] = TP/(TP+FP)
        else:
            precision[i] = 0
        
        if((TP+FN)!=0):
            recall[i] = TP/(TP+FN)
        else:
            recall[i] = 0
        

        if((precision[i]!=0) and (recall[i]!=0)):
            f1[i] = 2*precision[i]*recall[i]/(precision[i]+recall[i])
        else:
            f1[i] = 0
    
    precision = np.array(precision)
    recall = np.array(recall)
    f1 = np.array(f1)
    #print(precision)
    #print(recall)
    #print(f1)
    
    precision_avg = np.sum(precision*weights)
    recall_avg = np.sum(recall*weights)
    f1_avg = np.sum(f1*weights)

    print(f"{precision_avg:.2f} {recall_avg:.2f} {f1_avg:.2f}",end='')

if __name__ =='__main__':
    solve()
相关推荐
爱刷碗的苏泓舒11 小时前
RTKLIB Neville 插值法:源码推导与 GNSS 精密轨道应用
线性代数·rtklib·内维尔算法·neville
小飞象—木兮15 小时前
经营分析核心思路:经营分析的六层执行框架、底层原则、 全行业通用经营分析方法论
大数据·人工智能·矩阵·数据分析·用户运营
javaDocker16 小时前
从「五个窗口」到「一条流水线」:金融核心交易测试的 AI 协作矩阵设计
人工智能·金融·矩阵·研发效能·ai自测
坐看风云变幻16 小时前
《飞控数学与控制 · 新手入门连载》第 1 期|线性代数入门:向量、矩阵与旋转矩阵 SO(3)
线性代数·矩阵·飞控·旋转矩阵
智行合一科技1 天前
CTR报告:AI营销成广告增长引擎,GEO与AIGC矩阵营销成破局关键
人工智能·矩阵·aigc
烂蜻蜓3 天前
Matplotlib入门教程(十三):imshow() 详解——灰度图、彩色图、热力图与矩阵可视化
线性代数·矩阵·matplotlib
没有钱的钱仔3 天前
协方差矩阵含义
算法·机器学习·矩阵
爱刷碗的苏泓舒4 天前
泰勒级数与泰勒展开:GNSS卫地距线性化、Jacobian矩阵与Hessian矩阵
线性代数·算法·矩阵·gnss·雅可比矩阵·卫地距线性化·海森矩阵
lhh_qrsly4 天前
机器学习 深度学习 强化学习 都学啥 和 高等数学 线性代数 概率论数理统计 有啥关系
深度学习·线性代数·机器学习
tigershang5 天前
亲手拆开 Transformer:从手算入门到理论全景
神经网络·ai·矩阵·transformer