細(xì)說ROC曲線

最近在新冠肺炎新聞報道中頻繁出現(xiàn)一個詞“假陰性”速警。就是檢測結(jié)果呈現(xiàn)是陰性(沒有檢測出病毒)粪糙,實際上是一種假象强霎,真實情況是陽性的。檢測結(jié)果表現(xiàn)出“假陰性”蓉冈,后果是非常嚴(yán)重的城舞,相當(dāng)于你把一個感染者放回家了。今天就來總結(jié)一下衡量檢測或者說預(yù)測結(jié)果的方法和指標(biāo)寞酿。

我們把“檢測”歸納為“預(yù)測”家夺,認(rèn)為檢測新冠病毒實際上就是對是否感染做預(yù)測,把所有的檢測方法抽象成模型伐弹。模型的輸入就是病人待檢測的樣本拉馋,輸出結(jié)果為陰性或者陽性兩種。如果用函數(shù)來描述就是
y = f(x)

其中x就是待檢測樣本惨好,y就是輸出的結(jié)果煌茴,對應(yīng)關(guān)系f 就是檢測的方法。

衡量模型好壞通常有這么一些指標(biāo)日川。精度景馁,召回率,F_{1-score}逗鸣,ROC曲線合住,AUC值等,下面我們分別來介紹這些指標(biāo)撒璧。

二分類問題

模型的輸出類別透葛,只考慮二分類問題,也就是上面對應(yīng)的陰性和陽性卿樱,通常我們把陰性數(shù)值化為0僚害,陽性為1。衡量一個模型的好壞是需要大量的已知樣本的繁调,假設(shè)我們現(xiàn)在有N個樣本萨蚕,分別是(x_i,y_i),i=1,2,...,N 我們通過對樣本進(jìn)行預(yù)測,把預(yù)測結(jié)果與已知結(jié)果對比蹄胰,就能知道這個模型的好壞岳遥。

準(zhǔn)確率

首先你能想到的是準(zhǔn)確率,模型預(yù)測準(zhǔn)不準(zhǔn)裕寨,預(yù)測對了多少數(shù)據(jù)這個是很重要的.那么準(zhǔn)確率就是預(yù)測對的樣本數(shù)R除以總的樣本數(shù)N浩蓉。

acc = \frac{R}{N}

精度派继,召回率和F1值

我們發(fā)現(xiàn)有時候僅僅是準(zhǔn)確率這個指標(biāo)是不夠,舉一個極端點的例子捻艳,我們預(yù)測某個地方的地震驾窟,一天預(yù)測1000次,我都說沒有地震认轨,那準(zhǔn)確率幾乎是100%绅络。準(zhǔn)確率這么高我不是成大仙了,實際上我就是胡說的嘁字,因為某個地方發(fā)生地震的概率實在太低昨稼。再比如預(yù)測A股大盤,我根本不用看大盤拳锚,閉著眼說跌,結(jié)果一年下來寻行,發(fā)現(xiàn)準(zhǔn)確率竟然也查過50%霍掺。這樣的預(yù)測結(jié)果實際上沒有參考價值的。

對于一個已經(jīng)訓(xùn)練好的模型f,我們有6條檢驗數(shù)據(jù)拌蜘,3條正例杆烁,3條反例。第2行是模型預(yù)測值简卧,第3行是樣本的真實值兔魂。預(yù)測值\hat y_i=f(x_i),將6條驗證數(shù)據(jù)代入模型中,分別得到模型的預(yù)測值举娩。

模型的預(yù)測值與真實值

如果按照預(yù)測結(jié)果大于0.5 就是正例析校,小于0.5是反例,預(yù)測正確的數(shù)據(jù)為x_1,x_2,x_3,x_5共4條數(shù)據(jù)铜涉,準(zhǔn)確率就是4/6=0.67.

正確地預(yù)測為正例TP(True Positive)分別是x_1,x_3 2條智玻,正確地預(yù)測為反例TN(True Negative)的分別是x_2,x_5,錯誤地預(yù)測為正例FP(False Positive)分別是x_6芙代,錯誤地預(yù)測為反例FN分別是x_4吊奢。

于是我們得到混淆矩陣(下圖),對角線上的數(shù)都是預(yù)測正確的纹烹,其余都是預(yù)測錯誤的页滚。

混淆矩陣

精度P描述的是在預(yù)測為正例的樣本中有多少正例是被正確預(yù)測的:
P = \frac{TP}{TP + FP}=\frac{2}{3}

召回率R描述的是在實際正例樣本中有多少正例是被正確預(yù)測的:
P = \frac{TP}{TP + FN}=\frac{2}{3}

F_{1-score}是精度和召回率的調(diào)和平均數(shù):
F_{1-score} = \frac{ 2 PR}{P+R} = \frac{2}{3}

ROC曲線

上面的例子中我們假定預(yù)測值大于等于0.5為正例,小于0.5為反例铺呵,這個0.5稱為閾值裹驰,閾值是可以根據(jù)實際情況改變的。如果閾值改為0.8片挂,那么預(yù)測值不小于0.8的才能被劃分到正例邦马,原來大于0.5小于0.8的“正例”就被劃分為反例了。閾值越大相應(yīng)被劃分到正例的樣本就會減少,正例的識別率提高了滋将,意味著對于正例的預(yù)測越有把握邻悬。

假陽率描述在所有實際為陰性(反例)的樣本中,被錯誤地判斷為陽性(正例)之比率.
FPR =\frac{FP}{FP + TN}
真陽率描述在所有實際為陽性(正例)的樣本中随闽,被正確地判斷為陽性(正例)之比率
TPR=\frac{TP}{TP + FN}

ROC曲線的X軸為假陽率, Y軸為真陽率.通過改變上述的閾值可以得到一些列的點(FPR, TPR),連接這些點就得到了ROC曲線父丰。這些兩個比率都是小于1的,因此ROC曲線在1x1的正方形內(nèi)掘宪。接下來分別來計算幾個點蛾扇。

  • 閾值等于0.5時,根據(jù)上面的混淆矩陣我們計算假陽率真陽率

FPR =\frac{FP}{FP + TN} =\frac{1}{3}=0.33
TPR=\frac{TP}{TP + FN}=\frac{2}{3}=0.67

  • 閾值等于1時,說明預(yù)測值全部是反例魏滚,意味著TP=0, FP=0,TN=3,FN=3,紅色為真實正例镀首,白色為真實反例。
閾值為1

FPR =\frac{FP}{FP + TN} =\frac{0}{3}=0
TPR=\frac{TP}{TP + FN}=\frac{0}{3}=0

  • 閾值等于0.6鼠次,x_1=0.6 不小于0.6都認(rèn)為預(yù)測值為正例更哄。
閾值等于0.6

TP=2,TN=2,FP=1, FN=1
FPR =\frac{FP}{FP + TN} =\frac{1}{3}=0.33
TPR=\frac{TP}{TP + FN}=\frac{2}{3}=0.67

  • 閾值等于0.3
閾值等于0.3

TP=3, TN=2, FP=1, FN=0

FPR =\frac{FP}{FP + TN} =\frac{1}{3}=0.33
TPR=\frac{TP}{TP + FN}=\frac{3}{3}=1

  • 閾值等于0時,意味著全部預(yù)測為正例腥寇。
閾值等于0

TP=3, TN=0, FP=3, FN=0
FPR =\frac{FP}{FP + TN} =\frac{1}{3}=1
TPR=\frac{TP}{TP + FN}=\frac{3}{3}=1

畫出ROC曲線

我們分別計算了閾值等1成翩,0.6,0.5赦役,0.3麻敌,0,其對應(yīng)的假陽率和真陽率分別為(0,0),(0.33,0.67),(0.33,0.67), (0.33, 1),(1,1).畫出這條曲線就是ROC曲線了掂摔∈醺幔看起來點有點少了,盡量多取一些點乙漓,畫出來的圖形更加好看聂示。曲線下的面積就是AUC值了。

ROC曲線

總結(jié)

網(wǎng)上已有大量的資料討論ROC曲線和AUC值簇秒,本文不在贅述鱼喉。本文通過一個簡單例子,分別講述了精度趋观,召回率扛禽,F(xiàn)1值的計算方法,同時也計算了不同閾值對應(yīng)的真陽率和假陽率皱坛,出了ROC曲線编曼。在網(wǎng)上也看過很多通俗的文章,大多在講述得到ROC曲線時省略了很多內(nèi)容剩辟,本文恰好補充了不足之處掐场,對于初學(xué)者相對友好往扔。

如果喜歡我的文章,可以關(guān)注我的公眾號“數(shù)學(xué)編程”熊户。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萍膛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嚷堡,更是在濱河造成了極大的恐慌蝗罗,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝌戒,死亡現(xiàn)場離奇詭異串塑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)北苟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門桩匪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人友鼻,你說我怎么就攤上這事傻昙。” “怎么了桃移?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長葛碧。 經(jīng)常有香客問我借杰,道長,這世上最難降的妖魔是什么进泼? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任蔗衡,我火速辦了婚禮,結(jié)果婚禮上乳绕,老公的妹妹穿的比我還像新娘绞惦。我一直安慰自己,他們只是感情好洋措,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布济蝉。 她就那樣靜靜地躺著,像睡著了一般菠发。 火紅的嫁衣襯著肌膚如雪王滤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天滓鸠,我揣著相機(jī)與錄音雁乡,去河邊找鬼。 笑死糜俗,一個胖子當(dāng)著我的面吹牛踱稍,可吹牛的內(nèi)容都是我干的曲饱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼珠月,長吁一口氣:“原來是場噩夢啊……” “哼扩淀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起桥温,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤引矩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后侵浸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旺韭,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年掏觉,在試婚紗的時候發(fā)現(xiàn)自己被綠了区端。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡澳腹,死狀恐怖织盼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酱塔,我是刑警寧澤沥邻,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站羊娃,受9級特大地震影響唐全,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蕊玷,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一邮利、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垃帅,春花似錦延届、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至酱固,卻和暖如春二鳄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背媒怯。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工订讼, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扇苞。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓欺殿,卻偏偏與公主長得像寄纵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子脖苏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容