推荐系统中的召回率与准确率

转自:https://blog.csdn.net/shenxiaoming77/article/details/80746748

准确率,顾名思义,就是准确程度。通过正确数/总数得到。而正确数是什么,总数是什么呢?

召回率,我们可以理解为找到的数目与总的需要我们找到的数目的比,那在推荐系统中,什么是找到的数目,什么是需要我们总的找到的数目呢?


令R(u)表示在根据训练数据给用户做出的推荐列表,T(u)表示用户根据测试数据给用户做出的推荐列表,则

召回率:



准确率:

                          


精确率是针对我们 预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本,例如我们给用户推荐了100条新闻,其中10条用户产生了点击,那么准确率为10/100 = 0.1
而 召回率是针对我们 原来的样本而言的,它表示的是样本中的正例有多少被预测正确了, 例如 我们给用户推荐了100条新闻,其中10条用户产生了点击,而用户最终在平台上总共点击了200条新闻,那么召回率为10 / 200 = 0.05, 表示的是推荐系统推荐的那些符合用户兴趣并产生点击的新闻量占了用户实际总共点击的新闻 有多少比例 

其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。但分子都是表示预测的正样本与原来正样本的交集。



在信息检索领域,精确率和召回率又被称为查准率和查全率,

查准率=检索出的相关信息量 / 检索出的信息总量
查全率=检索出的相关信息量 / 系统中的相关信息总量
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
<项目介绍> 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 本项目主要实现了疾病自诊和医生推荐两个功能并构建了医生服务指标评价体系。疾病自诊主要通过利用BERT+CRF+BiLSTM的医疗实体识别, 建立医学知识图谱, 从而实现基于患者问诊文本的疾病初诊。这个功能帮助患者初步了解自身的疾病情况并为下一步与医生的交流提供支持。 第二个功能是医生推荐。本平台采用基于Jacard距离的Minhash和minhashLSHForest算法来进行推荐, 匹配患者的咨询文本和医生的历史问诊信息,从而为患者推荐最适合的医生。最后我们使用django框架进行项目发布。 数据采集 本项目除了使用公开的医疗数据集外,还采集了国领先医疗平台的数据集。 `spiders`模块提供了数据采集的信息。 39crawler用于获取39健康网的数据,hdf用于获取好大夫网的数据(scrapy)。 我们还提供了编译后的代码程序,感兴趣的同学可以通过百度网盘获取。 链接:https://pan.baidu.com/s/149ttC2KJJLA9HJl8YYKkLg 提取码:见资源 运行程序在dist文件夹,双击spider_run.exe即可运行爬虫程序。 爬取指定的疾病信息,在disease.txt加入科室名称(拼音)或者疾病名称(拼音),每一个科室或者科室占据单独一行。 无论你在disease.txt文件添加多少行,爬虫只会爬取第一行对应的科室或疾病,结果将在程序运行完成后,输出为doctor.csv,disease.csv。 如需爬取第二个疾病,请将第一行科室或者疾病删去,重新运行程序。 ## 3.疾病自诊 在疾病自诊模块,平台会读取用户疾病描述的语义信息,首先进行文本预处理,然后通过实体识别模型抽取出其的关键成分,即:疾病症状、并发症、身体部位等医学实体。然后,这些医学实体会输入到平台后端的知识图谱(基于大规模数据集构建)。最终,通过知识图谱的快速查询和计算,平台将返回基于患者疾病描述的疾病推断以及相应的概率值。同时,疾病相关的介绍、需要去就诊的科室和疾病多发人群的相关信息也会推送给用户。 ### 3.1. 医学实体识别 医疗实体识别是指从给定句子识别出医疗实体。在本项目,需要从患者咨询的病情描述识别出疾病、症状、科室等多种类型的医疗实体,找到与疾病特征相关的关键词。 `entity_extract`模块提供了有关医学实体识别的有关信息。 支持识别的实体类型 ~~~~ body:患病部位,如:胃,皮肤 drug :药品,如:产妇康清洗液 feature:患病程度,如:严重 disease:疾病,如:前列腺炎 symptom:疾病症状,如:胃壁增厚 department:科室,如:五官科 test:疾病相关的检查,如:血常规 模型选择 我们在训练集上检验了BERT、BERT+CRF、BERT+BiLSTM和BERT+BiLSTM+CRF各模型的准确率召回率和micro_f1值后,我们发现BERT+BiLSTM+CRF模型具有更好的医疗实体识别能力,因此,在本项目,我们选用`**BERT+BiLSTM +CRF**`模型完成后续医疗实体识别的任务。 知识图谱构建 为了进行准确的疾病诊断,我们依托于大规模数据集构建知识图谱。 `build_kg`模块提供了有关知识图谱构建的信息。 我们将应用于疾病自诊这一模块的所需实体标记为诊断检查项目、科室、疾病、药品、患病的部位、疾病症状、患病程度,在用户输入一段文本后,我们首先通过实体识别将以上这些关键实体识别出来。 通过事先考察,我们发现在进行疾病诊断的过程,不仅仅是以身体的症状为依据,也有许多其他的所属关系可供我们参考。因此在进行关系抽取,我们将各个实体间的关系分为8类,分别为属于、疾病常用药品、疾病对应科室、疾病别名、疾病所需检查、疾病部位、疾病症状、疾病并发疾病。我们通过以上8类关系判断在知识图谱实体间两两之间的关系,从而计算出患该种疾病的概率。定义知识图谱实体间关系的描述性统计特征如下表所示。 医生推荐 在医生推荐模块,平台期望寻找到历史数据与用户最相似的患者,并找到与之对应到相应的医生,来完成个性化的推荐。具体而言,平台首先通过用户的描述文本获

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值