Re: [問題] Precision-Recall curve
※ 引述《sxy67230 (charlesgg)》之銘言:
: ※ 引述《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/eXFMug3.jpg
: 藍色是sklearn 求取的面積,紅色是PR curve,看得出來其實就是在求approximately 而
: 已,這樣的好處就是避免PR曲線擾動太大的近似算法而已。
: 以上是小弟理解的物理意義有錯還請糾正
大大你好,非常感謝你的回覆,講解的很清楚,
但對於python sklearn的average percision我還是有些疑問
在average percision documentation.中有一個例子為
import numpy as np
from sklearn.metrics import average_precision_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
average_precision_score(y_true, y_scores)
0.83
但用precision_recall_curve去畫圖
precision, recall, _ = precision_recall_curve(y_true, y_scores)
plt.plot( recall,precision)
https://imgur.com/a/XK2IPej
從圖來看曲線下面積不是0.83,這是因為python 是用近似算法算出來的所以跟實際上會有落差嗎?
另外PR curve會有固定的pattern或者形狀嗎?
以下是我用另外兩筆筆資料畫出來的
https://imgur.com/a/mMNVtot
https://imgur.com/a/MGUO4zi
這形狀真的是..
最後,我發現當precision為 0/0時 python 會計算成1,是因為分類正確才當成1嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.185.36.210
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1558154603.A.C61.html
推
05/18 13:37,
5年前
, 1F
05/18 13:37, 1F
→
05/18 15:05,
5年前
, 2F
05/18 15:05, 2F
→
05/18 15:05,
5年前
, 3F
05/18 15:05, 3F
→
05/18 15:05,
5年前
, 4F
05/18 15:05, 4F
→
05/18 15:05,
5年前
, 5F
05/18 15:05, 5F
→
05/18 15:05,
5年前
, 6F
05/18 15:05, 6F
→
05/18 15:05,
5年前
, 7F
05/18 15:05, 7F
→
05/19 02:06,
5年前
, 8F
05/19 02:06, 8F
→
05/19 02:06,
5年前
, 9F
05/19 02:06, 9F
→
05/19 08:46,
5年前
, 10F
05/19 08:46, 10F
→
05/19 08:46,
5年前
, 11F
05/19 08:46, 11F
→
05/19 08:46,
5年前
, 12F
05/19 08:46, 12F
→
05/19 08:46,
5年前
, 13F
05/19 08:46, 13F
→
05/19 12:22,
5年前
, 14F
05/19 12:22, 14F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章