中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ROC曲線和AUC值是什么

發布時間:2022-05-30 16:12:43 來源:億速云 閱讀:164 作者:iii 欄目:大數據

這篇文章主要介紹“ROC曲線和AUC值是什么”,在日常操作中,相信很多人在ROC曲線和AUC值是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ROC曲線和AUC值是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

二分類模型預測的結果是否足夠好,ROC和AUC是重要指標。

1. T、F、P、N、R

首先我們先了解這四個概念:

  • T:True,真的

  • F:False,假的

  • P:Positive,陽性

  • N:Negative,陰性

  • R:Rate,比率,和上面四個沒直接關系

比如說看病這個事情:

  • 一個人得病了,但醫生檢查結果說他沒病,那么他是假沒病,也叫假陰性(FN)

  • 一個人得病了,醫生檢查結果也說他有病,那么他是真有病,也叫真陽性(TP)

  • 一個人沒得病,醫生檢查結果卻說他有病,那么他是假有病,也叫假陽性(FP)

  • 一個人沒得病,醫生檢查結果也說他沒病,那么他是真沒病,也叫真陰性(TN)

這四種結局可以畫成2 × 2的混淆矩陣:

ROC曲線和AUC值是什么

FN、TP、FP、TN可以這樣理解:第二個字母(N或P)是醫生說的,第一個字母(T或F)是對醫生說法的肯定(真沒病真陰TN,真有病真陽TP)或否定(假有病假陽FP,假沒病假陰FN)。2. 查出率TPR和查錯率FPR

R是Rate(比率),那么:

  • TPR,真陽率等于真陽數量除以真陽加假陰,就是真的有病并且醫生判斷也有病的病人數量除以全部真有病的人(真有病醫生也說有病的真陽+真有病醫生卻說沒病的假陰):

ROC曲線和AUC值是什么

  • FPR,假陽率等于假陽數量除以假陽加真陰,就是沒病但醫生說有病的病人數量除以全部實際沒病的人(沒病但醫生說有病的+沒病醫生也說沒病的):

ROC曲線和AUC值是什么

所以說,TPR真陽率是對有病的人的查出率,有病的人里面查出來多少個;而FPR假陽率則是對沒病人員的誤檢率,沒病的人里面誤檢了多少個。

  • ACC,Accuracy,精準度,有病被檢查出來的TP是檢測對了,沒病也檢測健康的TN也是檢測對了,所有檢測對的數量除以全部數量就是精準度:

ROC曲線和AUC值是什么

3. 案例計算

假如說我們編寫了一個算法M,它能夠根據一系列的屬性(比如身高、愛好、衣著、飲食習慣等)來預測一個人的性別是男還是女。

然后我們有10個人屬性組數據讓算法M來預測,這10個人的真實性別和預測結果如下:

ROC曲線和AUC值是什么

預測值中0代表女性,1代表男性,數字越大越接近男性特征,數字越小越接近女性特征。如果我們設定區分男女的閾值是0.5,那么預測值大于0.5的都是P正向男性,小于0.5都是N負向女性。

那么,真實6個男人中有[1,3,5,8,9]這5個都查出來了,算法M的查出率TPR=5/6=0.833;真實4個女性中6號被查錯,所以誤檢率FPR=1/4=0.25;精度是ACC=(5+3)/10=0.8。

但是注意,如果我們修改閾值等于0.4,那么就會變為6個男人全被檢出TPR=1;而女性則被誤檢2個FPR=0.5;精度仍然是0.8。

4. 隨機算法

假設我們有一個庸醫,根本不懂醫術,當病人來檢查是否有病的時候,他就隨機亂寫有病或者沒病,結果呢,對于所有真實有病的,庸醫也能正確檢查出一半,就是TPR=0.5,同樣對于沒病的也是一半被誤檢,就是FPR=0.5。

這個庸醫的“隨機診法”原理上總能得到相等的查出率和誤檢率,如果我們把FPR當做坐標橫軸,TPR當做數軸,那么“隨機診法”對應了[0,0]到[1,1]的那條直線。

ROC曲線和AUC值是什么

如圖所示,越靠近左上角的情況查出率越高,查錯率越低,[0,1]點是最完美的狀態。而越靠近右下角,算法質量越低。

注意圖中右下角C點,這里查錯率高,查出率低,屬于很糟糕的情況;但是如果我們把C點沿紅色斜線對稱上去成為C'點,那就很好了。——所以,如果你的算法預測結果總是差的要死,那么可以試試看把它顛倒一下,負負得正,也許就很好了。

5. ROC曲線

ROC(Receiver Operating Characteristic curve)接受者操作特征曲線。

上面我們都只是把從一組預測樣本得到的[FPR,TPR]作為一個點描述,并且我們知道閾值的改變會嚴重影響FPR和TPR,那么,如果我們把所有可能的閾值都嘗試一遍,再把樣本集預測結果計算得到的所有[FPR,TPR]點都畫在坐標上,就會得到一個曲線:

ROC曲線和AUC值是什么

一般閾值范圍是在0~1之間,1表示一個分類(男,或者有病),0表示另外一個分類(女,或者無病)。

在這個圖中,注意:

  • 橫豎都不是閾值坐標軸,這里沒有顯示閾值。

  • 藍色線更加靠近左上角,比紅色線更好。

ROC曲線上左側的點好解釋,誤查率FPR越低,查出率TRP越高,自然是好的;但右上角的怎么解釋?誤查率和查出率都很高。——想象一下,有個庸醫把閾值調的很高比如0.99,那么導致算法推測出來的都是男生,沒有女生,這樣的情況當然查出率很高(所有男生都查出來了),誤查率也很高(所有女生都被當成男生了)。

6. AUC

ROC曲線的形狀不太好量化比較,于是就有了AUC。

AUC,Area under the Curve of ROC (AUC ROC),就是ROC曲線下面的面積。如上圖,藍色曲線下面的面積更大,也就是它的AUC更大。

ROC曲線和AUC值是什么

如圖,左側的紅色折線覆蓋了下面整個方形面積,AUC=1;中間的曲線向左上方凸起,AUC=0.8;右邊的是完全隨機的結果,占一半面積,AUC=0.5。

AUC面積越大,算法越好。

當我們寫好算法之后,可以用一個測試集來讓這個算法進行分類預測,然后我們繪制ROC曲線,觀察AUC面積,計算ACC精度,用這些來對算法的好壞進行簡單評估。

到此,關于“ROC曲線和AUC值是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

梁山县| 措美县| 沂源县| 色达县| 鄄城县| 长葛市| 安阳县| 鹤山市| 永顺县| 建湖县| 本溪| 乐陵市| 泰州市| 桐乡市| 陵水| 四会市| 奉贤区| 周至县| 闵行区| 大城县| 荥阳市| 尖扎县| 丽水市| 万盛区| 双鸭山市| 武汉市| 大悟县| 平湖市| 通州市| 赤壁市| 潮州市| 林芝县| 榆社县| 读书| 柳河县| 桃园县| 苍溪县| 浦北县| 闵行区| 合肥市| 麦盖提县|