前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于召回率、准确率、F测度值的一个小程序

关于召回率、准确率、F测度值的一个小程序

作者头像
简单、
发布2018-07-18 14:38:32
4710
发布2018-07-18 14:38:32
举报

这个小程序是3月份公司的一个小任务,关于它的解释,网上有一大堆文章。这里主要说的是针对我们公司当时的需求写的一个最简单的小程序。 先把公式贴出来:

请输入图片描述
请输入图片描述
代码语言:javascript
复制
一、需求:
    当公司将数据处理完毕后,会传两个list给我,分别是“总的实体数“和”总的实体识别数”。

    我要做的就是将两个list的数据作比较。然后给出结果。供后面的工作参考。

代码语言:javascript
复制
代码:


# -*- coding: utf-8 -*-

__author__ = 'se7en'

__date__ = '17/3/20 下午7:08'

line = {}

j = []


def crf(Totallist, Correctlist):
    tote = len(Totallist) # 总实体数

    total = len(Correctlist) # 总实体识别数

    for i in Correctlist:
        if Correctlist.count(i) > 1: # 统计字符串里某个字符出现的次数。
            line[i] = Correctlist.count(i)


    """
    将两个list的数据进行对比
    去掉重复数据,取得长度
    """
    try:
        num = [g for g in Totallist if g in Correctlist]

        qu = len(num)

        dRmoval = qu

    except:
        return None

    """
    套用公式
    """
    try:

        R = float(dRmoval) / float(total) * 100

        P = float(dRmoval) / float(tote) * 100

        F = 2 * P * R / (P + R)
    except:
        return None

    """输出结果"""

    print totallist
    print correctlist
    print "\n"


    for k,v in line.items():
        print u"其中{k}重复了{v}次".format(k=k,v=v)

    print "\n"

    print u"准确率: {:.2f}" .format(R) + "%"
    print u"召回率: {:.2f}" .format(P) + "%"
    print u"F-测度值: {:.2f}" .format(F) + "%"
    print "\n"

    print u"总实体数:{tote}" .format(tote=tote)
    print u"总实体识别数:{total}" .format(total=total)
    print u"正确识别数:{correct}" .format(correct=dRmoval)


"""
这里在真实的项目中是没有的,两个list的数据都应该是从别的地方传过来的。

"""
totallist = ['123', 'abc', '678', '789', '666', '777', '999', 'jjh', 'jjh', 'jjh', 'jjh']

correctlist = ['123', '000', '002', '003', '000', '000', '022','000','000','002','003']

if __name__ == '__main__':
    crf(totallist,correctlist)

运行结果:

run
run

Tags: None

Archives QR Code

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档