#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()
相关推荐
棒球1号位13 小时前
全球赋能:中国棒球联盟矩阵的国际化人才培养路径·棒球1号位
线性代数·矩阵
梅梅绵绵冰17 小时前
算法题-矩阵
数据结构·算法·矩阵
郝学胜-神的一滴2 天前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
luoganttcc3 天前
指数分布的完整推导
线性代数·机器学习·概率论
爱刷碗的苏泓舒3 天前
平方根信息滤波:矩阵推导及 GNSS 参数估计应用
线性代数·算法·矩阵·gnss·参数估计·测量平差·平方根信息滤波
智灵鸟科技4 天前
封闭网络怎么安全地接外部能力:三条通道穷举、威胁封堵矩阵与残余风险
网络·安全·矩阵
zandy10114 天前
企业级BI平台选型指南:评估框架与核心能力矩阵
大数据·人工智能·矩阵
AI科技星4 天前
光速螺旋时空曲率挠率拓扑统一场论——四大力全域闭环求导、精算验证与第一性原理完备证明
线性代数·算法·决策树·机器学习·常温超导·ai科技星
棒球1号位4 天前
中国棒球联盟矩阵建设白皮书:解码本土化创新与国际接轨路径·棒球1号位
大数据·人工智能·矩阵
一个小猴子`4 天前
Triton实现矩阵乘法
矩阵·cuda·triton