作者sxy67230 (charlesgg)
看板DataScience
标题Re: [问题] Precision-Recall curve
时间Sat May 18 09:44:49 2019
※ 引述《disney82231 (小刀会序曲)》之铭言:
: 一般在二元分类下,我们可以用ROC下面积(即AUC)来判断模型好坏
: 但当资料不平衡情况下时,通常是画Precision-Recall curve
: 但是Precision-Recall curve有办法计算出类似AUC的东西吗?
: 如果没有办法,单纯用PR curve是不是无法比较模型好坏?
: 我的认知是PR curve会根据不同的指标分数跟资料而有不同的形状
: 所以没有办法计算出曲面下面积
: 这样的想法是对的吗?
: 谢谢
工程上的解释:
ROC在不平衡类上,TPR主要的影响就是正例,FPR则是负例,所以ROC本质上就是一个相对
曲线的评估方法,所以其实正负例增加的分布下,0.5的threshold在座标上也是相对移动
,所以ROC很好判断模型好坏标准,高於0.5就可以说他不错。那我们求取他的AUC呢?其
实物理意义就是我随机抽取一个正负例,正确判断出正例的机率。
PR在Recall跟Precision都是受到正例影响,所以本身就很容易受到不平衡的影响,如果
今天不平衡类有变动,那你的评估threshold在PR上就会不同。那如果求取PR的AUC意义又
跟ROC不太相同了,因为Recall跟Percision都是正例,所以意义就是你每次取正例正确被
分类的机率,就是平均精确度(AP)。
数学上AP的公式就是
https://i.imgur.com/d2kytp9.jpg
P就是Precision,r就是Recall,所以本质意义就是你对所有Recall的Percision做积分,
那不就是你PR curve求AUC吗?
当然,你实作sklearn的时候会发现你直接求AP跟你做PR在做AUC结果有点不同,是因为sk
learn官方文件公式是长这样
https://i.imgur.com/IrK7HTk.jpg
delta r是Recall的变化率
画成图做比较就是
https://i.imgur.com/ebf8qB5.jpg
蓝色是sklearn 求取的面积,红色是PR curve,看得出来其实就是在求approximately 而
已,这样的好处就是避免PR曲线扰动太大的近似算法而已。
以上是小弟理解的物理意义有错还请纠正
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.214.137.61
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DataScience/M.1558143891.A.D23.html
※ 编辑: sxy67230 (101.8.210.63), 05/19/2019 12:36:51
1F:→ sxy67230: 更正最後一张图x.y轴标错 05/19 12:37