今天的Coursera测验做了三次才对这说明对Precision和Recall的理解有问题
来源:互联网 发布:linux创建目录的命令 编辑:程序博客网 时间:2024/05/17 01:39
知道Precision和Recall是什么但是还是有点在区别的时候犯迷糊,加上这次的题目出的感觉有点模糊,有些描述有点模棱两可
用通俗点的话来描述Precision和Recall分别就是
Precision:判断的准确率,在你判断为真的数据中事实上就是真的比例
Recall:在所有为真的数据中你判断为真的比例,也就是你没有漏判的程度
!!一般的,我们将数据中出现少的那一种情况定义为真!!
也就是,假设我们使用了logistic regression,最后给的h(x)在[0, 1],如果我们想更准确判断,那么会有更高的Precision,以及更低的Recall;而如果我们不想漏过某个为真的数据,那么会有更高的Recall,以及更低的Precision
因为我们取得的数据有可能会是skewed class,比如数据中99%的患者没有得癌症,而只有1%的患者得了癌症,这种情况下,单单使用accuracy来衡量某个学习算法是不好的,举一个反例就是我们可以让算法直接判断所有患者都没有得癌症,这样得到的accuracy达到了99%,但是这并不是我们想要的
因此我们使用F1score = (2 * Precision * Recall) / (Precision + Recall)来衡量
用上面那个例子,99%的患者没有得癌症
1> 假设我们判断所有的患者都得了癌症,我们得到了100%的Recall因为我们没有漏过任何一个病例,另一方面,我们得到了1%的Precision,因为实际上只有1%的患者得了癌症,而总准确率为0.01
2> 假设我们判断所有的患者都没有得癌症,我们得到了0%的Recall因为我们漏掉了所有病例,另一方面,我们得到了0%的Precision因为我们所有判断得癌症的准确率是0,而我们得总准确率却有0.99
我们在用F1score衡量的时候,会希望F1score越大越好。在最理想情况下,我们准确且未漏判所有得了癌症的患者,这个时候,我们的F1score为
F1score = (2 * 1 * 1) / (1 + 1) = 1
这么理了一下感觉清晰些了
PS:什么时候把前面学的也理一下呢
- 今天的Coursera测验做了三次才对这说明对Precision和Recall的理解有问题
- recall和precision的理解
- 多分类问题中查全率和查准率的理解(Precision-Recall)
- Precision,Recall,F1score,Accuracy的理解
- 机器学习中Precision,Recall的理解
- Precision,Recall的定义
- 关于ROC/AUC/PRC/F1/PRECISION/RECALL(对相关文献的整理,方便以后查看)
- 关于机器学习中Precision和Recall的概念的理解
- 二元分类中精确度precision和召回率recall的理解
- <zz>信息检索中Recall, Precision等参数的理解
- 对TCP/IP三次握手的理解
- ROC曲线和PR(Precision-Recall)曲线的联系
- Precision和Recall:如何评价保安的能力
- Precision和Length对MySQL执行结果的影响
- Precision和Recall
- Recall和Precision
- Precision和Recall
- Precision和Recall
- hdu 3137 No Left Turns bfs
- JavaScript的6种继承方式
- 《Flask development》flask-script插件
- C/C++中排序的库函数sort和qsort
- 安装mysql没有生成my.cnf文件
- 今天的Coursera测验做了三次才对这说明对Precision和Recall的理解有问题
- 添加元素
- 刷书之事件处理
- 瓷砖铺放
- 2017年团体程序设计天梯赛-大区赛小结
- Mac 终端命令大全
- Android中MVC框架式开发实例讲解
- Spring AOP
- 前端面试二