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

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

一、需求:
    当公司将数据处理完毕后,会传两个list给我,分别是“总的实体数“和”总的实体识别数”。

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

代码:


# -*- 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)

运行结果:

Tags: None

Archives QR Code

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏haifeiWu与他朋友们的专栏

复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

31040
来自专栏腾讯高校合作

【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

16220
来自专栏腾讯社交用户体验设计

ISUX Xcube智能一键生成H5

51620
来自专栏钱塘大数据

理工男图解零维到十维空间,烧脑已过度,受不了啦!

让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

35230
来自专栏微信公众号:小白课代表

不只是软件,在线也可以免费下载百度文库了。

不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

44830
来自专栏怀英的自我修炼

考研英语-1-导学

英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

12410
来自专栏前端桃园

知识体系解决迷茫的你

最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

22540
来自专栏钱塘大数据

中国互联网协会发布:《2018中国互联网发展报告》

在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

13850
来自专栏FSociety

SQL中GROUP BY用法示例

GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

5.2K20
来自专栏Ken的杂谈

【系统设置】CentOS 修改机器名

18430

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励