日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC

發(fā)布時間:2023/12/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一 為什么要評估模型?

?一句話,想找到最有效的模型.模型的應(yīng)用是循環(huán)迭代的過程,只有通過持續(xù)調(diào)整和調(diào)優(yōu)才能適應(yīng)在線數(shù)據(jù)和業(yè)務(wù)目標(biāo). 選定模型時一開始都是假設(shè)數(shù)據(jù)的分布是一定的,然而數(shù)據(jù)的分布會隨著時間的移動而改變,這種現(xiàn)象稱為分布漂移(Distribution Drift)。驗(yàn)證指標(biāo)可以對模型在不斷新生的數(shù)據(jù)集上進(jìn)行性能跟蹤。當(dāng)性能開始下降時,說明該模型已經(jīng)無法擬合當(dāng)前的數(shù)據(jù)了,因此需要對模型進(jìn)行重新訓(xùn)練了。 模型能夠擬合新的數(shù)據(jù)稱為模型的泛化能力

二 怎么檢驗(yàn)和評估模型?

機(jī)器學(xué)習(xí)過程分為原型設(shè)計階段(Prototyping)與應(yīng)用階段(Deployed), 其中有原型設(shè)計階段(Prototyping)離線評估應(yīng)用階段(Deployed)在線評估(online evaluation).
Prototyping階段是使用歷史數(shù)據(jù)訓(xùn)練一個適合解決目標(biāo)任務(wù)的一個或多個機(jī)器學(xué)習(xí)模型,并對模型進(jìn)行驗(yàn)證(Validation)與離線評估(Offline evaluation),然后通過評估指標(biāo)選擇一個較好的模型。我們上面的例子就是Prototyping.
Deployed階段是當(dāng)模型達(dá)到設(shè)定的指標(biāo)值時便將模型上線,投入生產(chǎn),使用新生成的在線數(shù)據(jù)來對該模型進(jìn)行在線評估(Online evaluation),在線測試不同于離線測試,有著不同的測試方法以及評價指標(biāo)。最常見的便是A/B testing,它是一種統(tǒng)計假設(shè)檢驗(yàn)方法。
離線評估在線評估采用不同的評估指標(biāo),在對模型進(jìn)行離線評估時是采用偏經(jīng)驗(yàn)誤差的方法,在在線評估時會采用業(yè)務(wù)指標(biāo),如設(shè)備使用效率(OEE), 用戶點(diǎn)擊率等. 通過檢驗(yàn)和評估可能選擇單一模型,也能使用多個模型混合.那到底怎么選呢?

三 評估指標(biāo) (Evaluation Matrics)是什么?

評估指標(biāo)是把"尺子",用來評判模型優(yōu)劣水平的算法,不同的機(jī)器學(xué)習(xí)模型有著不同的"尺子",同時同一種機(jī)器學(xué)習(xí)模型也可以用不同的尺子來評估,只是每個尺子的的著重點(diǎn)不同而已。對于分類(classification)、回歸(regression)、排序(ranking)、聚類(clustering)、推薦(recommendation),很多指標(biāo)可以對其進(jìn)行評價,如精確率-召回率(precision-recall),可以用在分類、推薦、排序等中.以下是各類"尺子"的定義,用到時才看,僅供參考.

錯誤率,精度,誤差的基本概念:

  • ???? 錯誤率(error rate)= a個樣本分類錯誤/m個樣本
  • ? 精度(accuracy)= 1 -錯誤率
  • ? 誤差(error):學(xué)習(xí)器實(shí)際預(yù)測輸出與樣本的真是輸出之間的差異。
  • ? 訓(xùn)練誤差(training error):即經(jīng)驗(yàn)誤差。學(xué)習(xí)器在訓(xùn)練集上的誤差。
  • ? 泛化誤差(generalization error):學(xué)習(xí)器在新樣本上的誤差。

分類器評估指標(biāo)

對于二分類問題,可將樣例根據(jù)其真實(shí)類別和分類器預(yù)測類別劃分為:

  • 真正例(True Positive,TP):真實(shí)類別為正例,預(yù)測類別為正例。
  • 假正例(False Positive,FP):真實(shí)類別為負(fù)例,預(yù)測類別為正例。
  • 假負(fù)例(False Negative,FN):真實(shí)類別為正例,預(yù)測類別為負(fù)例。
  • 真負(fù)例(True Negative,TN):真實(shí)類別為負(fù)例,預(yù)測類別為負(fù)例。

記憶訣竅是 :這 4 個定義由兩個字母組成:

  • 第 1 個字母表示算法預(yù)測正確或者錯誤,即 True、False 描述的是這個分類器是否判斷正確。

  • 第 2 個字母表示算法預(yù)測的結(jié)果,即 Positive、Negative 是這個分類器的分類結(jié)果。

  • P = TP + FN :所有 "實(shí)際為正例" 的樣本數(shù)

  • N = FP + TN :所有 "實(shí)際 為負(fù)例" 的樣本數(shù)

  • P~ = TP + FP :所有 "預(yù)測為正例" 的樣本數(shù)

  • N~ = TN + FN :所有 "預(yù)測為負(fù)例" 的樣本數(shù)

  • ?

    3.1 混淆矩陣

    、介紹這些概念之前先來介紹一個概念:混淆矩陣(confusion matrix)。對于 k 元分類,其實(shí)它就是一個k x k的表格,用來記錄分類器的預(yù)測結(jié)果。對于常見的二元分類,它的混淆矩陣是 2x2 的。

    假設(shè)要對 15 個人預(yù)測是否患病,使用 1 表示患病,使用 0 表示正常。預(yù)測結(jié)果如下:

    將上面的預(yù)測結(jié)果轉(zhuǎn)為混淆矩陣,如下:

    上圖展示了一個二元分類的混淆矩陣,從該混淆矩陣可以得到以下信息:

    • 樣本數(shù)據(jù)總共有 5 + 2 + 4 + 4 = 15 個

    • 真實(shí)值為 1 并且預(yù)測值也為 1 的樣本有 5 個,真實(shí)值為 1 預(yù)測值為 0 的樣本有 2 個,真實(shí)值為 0 預(yù)測值為 1 的樣本有 4 個,真實(shí)值為 0 預(yù)測值也為 0 的樣本有 4 個。

    二元分類問題可以獲得 True Positive(TP,真陽性)、False Positive(FP,假陽性)、 False Negative(FN,假陰性) 和 True Negative(TN,真陰性)。這四個值分別對應(yīng)二元分類問題的混淆矩陣的四個位置。

    小技巧上面的這四個概念經(jīng)常會被搞混淆(難道混淆矩陣的名稱就是這么來的?),這里有個小方法幫你記住它。在醫(yī)學(xué)上,一般認(rèn)為陽性是患病,陰性是正常。所以只要出現(xiàn)“陽性”關(guān)鍵字就表示結(jié)果為患病,此外,陽性也分為真陽性和假陽性,從名稱就可以看出:真陽性表示確確實(shí)實(shí)的陽性,也就是說實(shí)際為陽性(患病),預(yù)測也為陽性(患病);假陽性表示不真實(shí)的陽性,也就是說實(shí)際為陰性(正常),預(yù)測為陽性(患病)。真陰性和假陰性也可以按照上面的方式來簡單理解。

    很明顯,這里的 TP=5,FP=2,FN=4,TN=4。

    ?

    3.2? 準(zhǔn)確率 Accuracy

    按照我們上文的定義:第 1 個字母表示算法預(yù)測正確或者錯誤,第 2 個字母表示算法預(yù)測的結(jié)果。

    所以分母是全部四種數(shù)據(jù);分子中第一個字母是 T 表示 "算法預(yù)測正確了"。

    準(zhǔn)確率有一個缺點(diǎn),就是數(shù)據(jù)的樣本不均衡,這個指標(biāo)是不能評價模型的性能優(yōu)劣的。

    假如一個測試集有正樣本999個,負(fù)樣本1個。我們設(shè)計的模型是個無腦模型,即把所有的樣本都預(yù)測為正樣本,那么模型的Accuracy為99.9%,看評價指標(biāo),模型的效果很好,但實(shí)際上模型沒有任何預(yù)測能力。

    ?

    3.3 精準(zhǔn)率 Precision

    精確率(Precision): 就是預(yù)測正確的正例數(shù)據(jù)預(yù)測為正例數(shù)據(jù)的比例。

    按照我們上文的定義:第 1 個字母表示算法預(yù)測正確或者錯誤,第 2 個字母表示算法預(yù)測的結(jié)果。

    所以分母中, TP表示 : 算法預(yù)測正確 & 預(yù)測的是正例,FP表示 : 算法預(yù)測錯誤 & 預(yù)測的是正例(實(shí)際是負(fù)例)

    ?

    3.4 準(zhǔn)確率 VS 精準(zhǔn)率

    讓我們看看其英文原意。

    • Accuracy在詞典中的定義是:the quality or state of being correct or precise

    • Precision在詞典中的定義是:the quality, condition, or fact of being exact and accurate

    Accuracy首先是correct(正確),而precision首先是exact(精確,或者說確切)。首先準(zhǔn)確,然后才談得上精確。一個結(jié)果必須要同時符合準(zhǔn)確與精密這兩個條件,才可算是精準(zhǔn)。

    這兩個詞也 有點(diǎn)類似 偏差(bias)與方差(variance)

    • 偏差(bias)反映了模型在樣本上的期望輸出與真實(shí)標(biāo)記之間的差距,即模型本身的精準(zhǔn)度,反映的是模型本身的擬合能力。這就很像 Precision。

    • 方差(variance)反映了模型在不同訓(xùn)練數(shù)據(jù)集下學(xué)得的函數(shù)的輸出與期望輸出之間的誤差,即模型的穩(wěn)定性,反應(yīng)的是模型的波動情況。這有點(diǎn)像 Accuracy。

    比如大概可以類比成射箭,準(zhǔn)確率要看你射中靶心的概率;精準(zhǔn)率要看你射中的是靶心區(qū)域的哪個位置。

    ?

    3.5 召回率 Recall

    召回率(Recall) 通俗地講,就是預(yù)測為正例的數(shù)據(jù)實(shí)際為正例數(shù)據(jù)的比例

    按照我們上文的定義:第 1 個字母表示算法預(yù)測正確或者錯誤,第 2 個字母表示算法預(yù)測的結(jié)果。

    所以分母中 TP+FN ,表示 “預(yù)測正確且預(yù)測為正樣本“ + “預(yù)測錯誤且預(yù)測為負(fù)樣本(實(shí)際是真實(shí)正例)“。即 所有 "實(shí)際為正例" 的樣本數(shù)

    分子是:預(yù)測正確 且 被預(yù)測為正樣本。

    ?

    召回率分類閾值較低。盡量檢測數(shù)據(jù),不遺漏數(shù)據(jù),所謂的寧肯錯殺一千,不肯放過一個。

    我們看看英文解釋,Recall : to remember sth; to make sb think of sth; to order sb to return; to ask for sth to be returned, often because there is sth wrong with it。

    因?yàn)镽ecall有記憶的意思,所以可以試著把 Recall 理解為“記憶率”。就是記憶一個事件需要多少細(xì)節(jié),這個細(xì)節(jié)就是當(dāng)我們問檢索系統(tǒng)某一件事的所有細(xì)節(jié)時(輸入檢索query),檢索系統(tǒng)能“Recall 回憶”起那些事的多少細(xì)節(jié),通俗來講就是“回憶的能力”。能回憶起來的細(xì)節(jié)數(shù) 除以 系統(tǒng)知道這件事的所有細(xì)節(jié),就是“記憶率”,也就是recall——召回率。

    召回率的應(yīng)用場景是:需要盡可能地把所需的類別檢測出來,而不在乎結(jié)果是否準(zhǔn)確。

    比如對于地震的預(yù)測,我們希望每次地震都能被預(yù)測出來,這個時候可以犧牲precision。假如一共發(fā)生了10次地震,我們情愿發(fā)出1000次警報,這樣能把這10次地震都涵蓋進(jìn)去(此時recall是100%,precision是1%),也不要發(fā)出100次警報,其中有8次地震給預(yù)測到了,但漏了2次(此時recall是80%,precision是8%)。

    ?

    3.6 精準(zhǔn)率 VS 召回率

    召回率是覆蓋面的度量,度量有多個真實(shí)正例被預(yù)測為正例。精度是精確性的度量,表示被預(yù)測為正例的示例中實(shí)際為正例的比例。

    在不同的應(yīng)用場景下,我們的關(guān)注點(diǎn)不同,例如:

    • 在預(yù)測股票的時候,我們更關(guān)心**精準(zhǔn)率**,即我們預(yù)測升的那些股票里,真的升了有多少,因?yàn)槟切┪覀冾A(yù)測升的股票都是我們投錢的。

    • 而在預(yù)測病患的場景下,我們更關(guān)注**召回率**,即真的患病的那些人里我們預(yù)測錯了情況應(yīng)該越少越好,因?yàn)檎娴幕疾∪绻麤]有檢測出來,結(jié)果其實(shí)是很嚴(yán)重的,之前那個無腦的算法,召回率就是 0。

    在信息檢索中,準(zhǔn)確率和召回率是互相影響的,雖然兩者都高是一種期望的理想情況,然而實(shí)際中常常是如果閾值較高,那么精準(zhǔn)率會高,但是會漏掉很多數(shù)據(jù);如果閾值較低,召回率高,但是預(yù)測的會很不準(zhǔn)確。所以在實(shí)際中常常需要根據(jù)具體情況做出取舍,例如:

    • 對一般搜索的情況是在保證召回率的情況下提升準(zhǔn)確率,

    • 而如果是疾病監(jiān)測、反垃圾郵件等,則是在保證準(zhǔn)確率的條件下,提升召回率。

    有時候,需要兼顧兩者,那么就可以用F1值(F score):

    正如下圖所示,F1的值同時受到P、R的影響,單純地追求P、R的提升并沒有太大作用。在實(shí)際業(yè)務(wù)工程中,結(jié)合正負(fù)樣本比,的確是一件非常有挑戰(zhàn)的事。


    precision一定情況下反映了模型控制假陽 FP 個數(shù)的能力,Recall 值反映了正樣本的檢出率,F1 值綜合了兩方面。

    其實(shí) F1 score 是精準(zhǔn)率和召回率的調(diào)和平均數(shù),調(diào)和平均數(shù)的性質(zhì)就是,只有當(dāng)精準(zhǔn)率和召回率二者都非常高的時候,它們的調(diào)和平均才會高。如果其中之一很低,調(diào)和平均就會被拉得接近于那個很低的數(shù)。

    為什么?因?yàn)檎{(diào)和平均值上面是一個乘積,所以其更接近較小值,這樣查準(zhǔn)率或查全率中哪個值較小,調(diào)和平均值就更接近這個值,這樣的測量指標(biāo)更嚴(yán)格。

    ?

    3.6.1 為什么準(zhǔn)確率和召回率是互相影響

    首先說大致原理

    • recall和precision是相互矛盾的。如果想要更高的recall,那么就要讓模型的預(yù)測能覆蓋到更多的樣本,但是這樣模型就更有可能犯錯,也就是說precision會比較低。如果模型很保守,只能檢測出它很確定的樣本,那么其precision會很高,但是recall會相對低。

    • recall(TPR)的分母是樣本中正類的個數(shù),因此樣本一旦確定,其分母即為定值,也就是說recall的變化隨分子增加而單調(diào)遞增;precision的分母是樣本中預(yù)測為正類的個數(shù),其會隨著分類閾值的變化而變化,因此Precision的變化受TP和FP的綜合影響,不單調(diào),變化情況不可預(yù)測。

    ?

    4. ROC與AUC

    ????? 根據(jù)維基百科的描述,AUC(Area under the Curve of ROC)是ROC曲線下方的面積,是判斷二分類預(yù)測模型優(yōu)劣的標(biāo)準(zhǔn)。ROC(receiver operating characteristic curve)接收者操作特征曲線。

    ? ? ? 是由二戰(zhàn)中的電子工程師和雷達(dá)工程師發(fā)明用來偵測戰(zhàn)場上敵軍載具(飛機(jī)、船艦)的指標(biāo),屬于信號檢測理論。ROC曲線的橫坐標(biāo)是偽陽性率(也叫假正類率,False Positive Rate),縱坐標(biāo)是真陽性率(真正類率,True Positive Rate),相應(yīng)的還有真陰性率(真負(fù)類率,True Negative Rate)和偽陰性率(假負(fù)類率,False Negative Rate), AUC用于衡量“二分類問題”機(jī)器學(xué)習(xí)算法性能(泛化能力)。

    我們知道,我們常用ACC準(zhǔn)確率來判斷分類器分類結(jié)果的好壞,既然有了ACC為什么還需要ROC呢,很重要的一個因素是實(shí)際的樣本數(shù)據(jù)集中經(jīng)常會出現(xiàn)數(shù)據(jù)偏斜的情況,要么負(fù)類樣本數(shù)大于正類樣本數(shù),要么正類樣本數(shù)大于負(fù)類樣本數(shù)。使用AUC值作為評價標(biāo)準(zhǔn)是因?yàn)楹芏鄷r候ROC曲線并不能清晰的說明哪個分類器的效果更好,而相對于AUC是個數(shù)值而言,對應(yīng)AUC更大的分類器效果更好,數(shù)值更好判斷一些。

    ?

    4.1. 概念解釋

    True Positive,?False Positive,?True Negative,?False Negative

    它們是根據(jù)真實(shí)類別與預(yù)測類別的組合來區(qū)分的.

    假設(shè)有一批test樣本,這些樣本只有兩種類別:正例和反例。機(jī)器學(xué)習(xí)算法預(yù)測類別(左半部分預(yù)測類別為正例,右半部分預(yù)測類別為反例),而樣本中真實(shí)的正例類別在上半部分,下半部分為真實(shí)的反例。
    樣本中的真實(shí)正例類別總數(shù)即TP+FN。True Positive Rate,TPR = TP/(TP+FN)。
    同理,樣本中的真實(shí)反例類別總數(shù)為FP+TN。False Positive Rate,FPR=FP/(TN+FP)。

    ?

    預(yù)測

      合計

    1

    0

    實(shí)際

      

    1 (P)

    True Positive(TP)

    False Negative(FN)

    Actual Positive(TP+FN)

    0 (N)

    False Positive(FP)

    True Negative(TN)

    Actual Negative(FP+TN)

    合計  

    Predicted Positive(TP+FP)

    Predicted Negative(FN+TN)

    TP+FP+FN+TN

    截斷點(diǎn)

    機(jī)器學(xué)習(xí)算法對test樣本進(jìn)行預(yù)測后,可以輸出各test樣本對某個類別的相似度概率。

    比如t1是P類別的概率為0.3,一般我們認(rèn)為概率低于0.5,t1就屬于類別N。這里的0.5,就是”截斷點(diǎn)”。
    總結(jié)一下,對于計算ROC,最重要的三個概念就是TPR, FPR, 截斷點(diǎn)

    截斷點(diǎn)取不同的值,TPR和FPR的計算結(jié)果也不同。將截斷點(diǎn)不同取值下對應(yīng)的TPR和FPR結(jié)果畫于二維坐標(biāo)系中得到的曲線

    x軸與y軸的值域都是[0, 1],我們可以得到一組(x, y)的點(diǎn),相連便作出了ROC曲線,示例圖如下:

    • 縱坐標(biāo)是true positive rate(TPR) ?= TP / (TP+FN=P) (分母是橫行的合計)直觀解釋:實(shí)際是1中,猜對多少
    • 橫坐標(biāo)是false positive rate(FPR) = FP / (FP+TN=N) ?直觀解釋:實(shí)際是0中,錯猜多少

    圖中的虛線相當(dāng)于隨機(jī)預(yù)測的結(jié)果。不難看出,隨著FPR的上升,ROC曲線從原點(diǎn)(0, 0)出發(fā),最終都會落到(1, 1)點(diǎn)。ROC便是其右下方的曲線面積。下圖展現(xiàn)了三種AUC的值:

    • AUC = 1,是完美分類器,采用這個預(yù)測模型時,不管設(shè)定什么閾值都能得出完美預(yù)測。絕大多數(shù)預(yù)測的場合,不存在完美分類器。

    • 0.5 < AUC < 1,優(yōu)于隨機(jī)猜測。這個分類器(模型)妥善設(shè)定閾值的話,能有預(yù)測價值。

    • AUC = 0.5,跟隨機(jī)猜測一樣(例:丟銅板),模型沒有預(yù)測價值。

    • AUC < 0.5,比隨機(jī)猜測還差;但只要總是反預(yù)測而行,就優(yōu)于隨機(jī)猜測,因此不存在AUC < 0.5的情況

    ??????? AUC對于每一個做機(jī)器學(xué)習(xí)的人來說一定不陌生,它是衡量二分類模型優(yōu)劣的一種評價指標(biāo),表示正例排在負(fù)例前面的概率。其他評價指標(biāo)有精確度、準(zhǔn)確率、召回率,而AUC比這三者更為常用。因?yàn)橐话阍诜诸惸P椭?#xff0c;預(yù)測結(jié)果都是以概率的形式表現(xiàn),如果要計算準(zhǔn)確率,通常都會手動設(shè)置一個閾值來將對應(yīng)的概率轉(zhuǎn)化成類別,這個閾值也就很大程度上影響了模型準(zhǔn)確率的計算。

    ?????? 我們不妨舉一個極端的例子:一個二類分類問題一共10個樣本,其中9個樣本為正例,1個樣本為負(fù)例,在全部判正的情況下準(zhǔn)確率將高達(dá)90%,而這并不是我們希望的結(jié)果,尤其是在這個負(fù)例樣本得分還是最高的情況下,模型的性能本應(yīng)極差,從準(zhǔn)確率上看卻適得其反。而AUC能很好描述模型整體性能的高低。這種情況下,模型的AUC值將等于0(當(dāng)然,通過取反可以解決小于50%的情況,不過這是另一回事了)


    ROC 計算例子

    from sklearn import metrics import numpy as npy = np.array([1, 1, 2, 2]) scores = np.array([0.1, 0.4, 0.35, 0.8]) fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2) print fpr print tpr print thresholds


    通過計算,得到的結(jié)果(FPR,TPR,?截斷點(diǎn))為

    [ 0.?? 0.5? 0.5? 1. ]
    [ 0.5? 0.5? 1.?? 1. ]
    [ 0.8?? 0.4?? 0.35? 0.1 ]

    ?

    將結(jié)果中的FPR與TPR畫到二維坐標(biāo)中,得到的ROC曲線如下(藍(lán)色線條表示),ROC曲線的面積用AUC表示(淡黃色陰影部分)。

    詳細(xì)計算過程

    上例給出的數(shù)據(jù)如下:

    y = np.array([1, 1, 2, 2]) scores = np.array([0.1, 0.4, 0.35, 0.8])

    用這個數(shù)據(jù),計算TPR,FPR的過程是怎么樣的呢?

    1. 分析數(shù)據(jù)

    y是一個一維數(shù)組(樣本的真實(shí)分類)。數(shù)組值表示類別(一共有兩類,1和2)。我們假設(shè)y中的1表示反例,2表示正例。即將y重寫為:

    y_true = [0, 0, 1, 1]

    ?

    score即各個樣本屬于正例的概率。

    ?

    2. 針對score,將數(shù)據(jù)排序

    樣本預(yù)測屬于P的概率(score)真實(shí)類別
    y[0]0.1N
    y[2]0.35P
    y[1]0.4N
    y[3]0.8P

    3. 將截斷點(diǎn)依次取為score值

    將截斷點(diǎn)依次取值為0.1,0.35,0.4,0.8時,計算TPR和FPR的結(jié)果。

    3.1?截斷點(diǎn)為0.1

    說明只要score>=0.1,它的預(yù)測類別就是正例。?
    此時,因?yàn)?個樣本的score都大于等于0.1,所以,所有樣本的預(yù)測類別都為P。

    scores = [0.1, 0.4, 0.35, 0.8] y_true = [0, 0, 1, 1] y_pred = [1, 1, 1, 1]

    TPR = TP/(TP+FN) = 1?
    FPR = FP/(TN+FP) = 1

    3.2?截斷點(diǎn)為0.35

    說明只要score>=0.35,它的預(yù)測類別就是P。?
    此時,因?yàn)?個樣本的score有3個大于等于0.35。所以,所有樣本的預(yù)測類有3個為P(2個預(yù)測正確,1一個預(yù)測錯誤);1個樣本被預(yù)測為N(預(yù)測正確)。

    scores = [0.1, 0.4, 0.35, 0.8] y_true = [0, 0, 1, 1] y_pred = [0, 1, 1, 1]

    ?

    TPR = TP/(TP+FN) = 1?
    FPR = FP/(TN+FP) = 0.5

    3.3?截斷點(diǎn)為0.4

    說明只要score>=0.4,它的預(yù)測類別就是P。?
    此時,因?yàn)?個樣本的score有2個大于等于0.4。所以,所有樣本的預(yù)測類有2個為P(1個預(yù)測正確,1一個預(yù)測錯誤);2個樣本被預(yù)測為N(1個預(yù)測正確,1一個預(yù)測錯誤)。

    scores = [0.1, 0.4, 0.35, 0.8] y_true = [0, 0, 1, 1] y_pred = [0, 1, 0, 1]

    TPR = TP/(TP+FN) = 0.5?
    FPR = FP/(TN+FP) = 0.5

    3.4?截斷點(diǎn)為0.8

    說明只要score>=0.8,它的預(yù)測類別就是P。所以,所有樣本的預(yù)測類有1個為P(1個預(yù)測正確);3個樣本被預(yù)測為N(2個預(yù)測正確,1一個預(yù)測錯誤)。

    scores = [0.1, 0.4, 0.35, 0.8] y_true = [0, 0, 1, 1] y_pred = [0, 0, 0, 1]

    ?

    TPR = TP/(TP+FN) = 0.5?
    FPR = FP/(TN+FP) = 0

    ?

    用下面描述表示TPR和FPR的計算過程,更容易記住

    • TPR:真實(shí)的正例中,被預(yù)測正確的比例
    • FPR:真實(shí)的反例中,被預(yù)測正確的比例

    最理想的分類器,就是對樣本分類完全正確,即FP=0,FN=0。所以理想分類器FPR=0,TPR=1

    ?

    第一個點(diǎn),(0,1),即FPR=0, TPR=1,這意味著FN(false negative)=0,并且FP(false positive)=0。Wow,這是一個完美的分類器,它將所有的樣本都正確分類。

    第二個點(diǎn),(1,0),即FPR=1,TPR=0,類似地分析可以發(fā)現(xiàn)這是一個最糟糕的分類器,因?yàn)樗晒Ρ荛_了所有的正確答案。

    第三個點(diǎn),(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以發(fā)現(xiàn)該分類器預(yù)測所有的樣本都為負(fù)樣本(negative)。

    第四個點(diǎn)(1,1),分類器實(shí)際上預(yù)測所有的樣本都為正樣本。經(jīng)過以上的分析,我們可以斷言,ROC曲線越接近左上角,該分類器的性能越好。

    ??

    ?

    總結(jié)

    以上是生活随笔為你收集整理的[机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。