0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

這些機器學(xué)習(xí)分類器性能標準你知道嗎?

自然語言處理愛好者 ? 來源:AIAS編程有道 ? 作者:菊子皮 ? 2020-11-27 10:37 ? 次閱讀

機器學(xué)習(xí)算法中,在模型訓(xùn)練出來之后,總會去尋找衡量模型性能的指標。評價指標是針對將相同的數(shù)據(jù),使用不同的算法模型,或者輸入不同參數(shù)的同一種算法模型,而給出這個算法或者參數(shù)好壞的定量指標。在模型評估過程中,往往需要使用多種不同的指標協(xié)作評估一個模型的好壞,因為眾多的評價指標中,大部分指標只能片面的反應(yīng)模型的一部分特點,那么對模型的評估就會比較片面,在算法落地后也會出現(xiàn)很多問題。根據(jù)評估指標的反饋進行模型調(diào)整,這些都是機器學(xué)習(xí)在模型評估階段的關(guān)鍵問題,也是一名合格的算法工程師應(yīng)當具備的基本功[文獻1]。

本文參考文獻1, 2,詳細介紹機器學(xué)習(xí)分類任務(wù)的常用評價指標:準確率(Accuracy)、精確率(Precision)、召回率(Recall)、P-R曲線(Precision-Recall Curve)、F1 Score、混淆矩陣(Confuse Matrix)、ROC、AUC。

1 準確率(Accuracy)

準確率定義如下:

也就是被正確分類的樣本個數(shù)與總樣本的個數(shù)之比,對于二分類來說可以這樣看:

其中(正、負樣本代表兩個不同類別):

真正例(True Positive, TP):標注的數(shù)據(jù)為正樣本,被模型預(yù)測為正的正樣本;

假正例(False Positive, FP):標注的數(shù)據(jù)為負樣本,被模型預(yù)測為正的負樣本;

假負例(False Negative, FN):標注的數(shù)據(jù)為負樣本,被模型預(yù)測為負的正樣本;

真負例(True Negative, TN):標注的數(shù)據(jù)為正樣本,被模型預(yù)測為負的負樣本;

準確率是分類問題中最簡單也是最直觀的評價指標,但存在明顯的缺陷,就是在數(shù)據(jù)的類別不均衡,特別是一種類別數(shù)據(jù)特別多另一種類別數(shù)據(jù)特別少的情況下,準確率就不能客觀評價算法的優(yōu)劣了。舉個例子:當負樣本占99%時,分類器把所有樣本都預(yù)測為負樣本,那么對于這個模型來說可以獲得99%的準確率,所以在樣本數(shù)據(jù)極度不均衡的時候,選用這種方式去評價一個模型是不可取的。

2 精確率(Precision)

精準率又叫查準率,容易與準確率弄混,請記住這個“精”字,「它是針對一個類別預(yù)測結(jié)果而言的」,含義是在所有被預(yù)測為正的樣本中實際為正的樣本的概率,在預(yù)測為正樣本的結(jié)果中,有多少把握可以預(yù)測正確,因為其他類別的數(shù)據(jù)也可能被預(yù)測成為該類別。以二分類(以下不特殊說明,都以二分類為例介紹)來說其公式如下:

精準率代表對正樣本「結(jié)果」中的預(yù)測準確程度,而準確率則代表整體的預(yù)測準確程度,既包括正樣本,也包括負樣本。

3 召回率(Recall)

召回率又叫查全率,「它是針對原樣本而言的」,即在實際為正的樣本中被預(yù)測為正樣本的概率,其公式如下:

精確率和召回率又是一對歡喜冤家(一個查準率,一個查全率)。引用wiki上的圖,來理解一下:

實際中該如何選擇這兩個指標呢?因為精確率和召回率有不同的側(cè)重點,并且精確率和召回率是一對此消彼長的度量,精確率高可能原因是原始樣本中正樣本預(yù)測為正樣本比較少,負樣本預(yù)測為正樣本也比較多,那么這個時候召回率就低了,因為召回率是正樣本預(yù)測為正樣本的比率。例如,在預(yù)測股票的時候,更關(guān)心精準率,假如你買的股票現(xiàn)在有漲有跌,預(yù)測這些股票漲的多,那么這就是對我們有用的,因為所預(yù)測漲的股票都是你投錢的。而在預(yù)測病患的場景下,則更關(guān)注召回率,即真的患病的那些人中預(yù)測對了情況應(yīng)該越多越好,即召回率越高越好。

因為兩種精準率和召回率是此消彼長的參數(shù),而在實際情況中,例如推薦系統(tǒng)中有這樣的情形。在給用戶推薦的N個數(shù)據(jù)中,我們都認為是預(yù)測為正的值,那么其中有用戶喜歡的就是預(yù)測正樣本預(yù)測為正樣本的情形,即TP,其中用戶不喜歡的就是預(yù)測負樣本為正樣本的情形,即FP。當準確率比較高的時候,那么類別就比較多,而用戶實際喜歡的并沒有那么多,而當召回率比較高,那么推送的類別少,用戶可能想看更多的類別,推送的又沒有。所以,在實際工程中,往往需要結(jié)合兩個指標的結(jié)果,去尋找一個平衡點,使綜合性能最大化。

4 P-R曲線

P-R曲線(Precision Recall Curve)是描述精確率/召回率變化的曲線,如下圖所示,橫軸為召回率,縱軸為精確率:

對于一個模型來說,其P-R曲線上的一個點代表著:在某一閾值下,模型將大于該閾值的結(jié)果判定為正樣本,小于該閾值的結(jié)果判定為負樣本,此時就可以計算出對應(yīng)的召回率和精確率。改變這個閾值就可以得到一條P-R曲線。那么如何去看一個P-R曲線呢?若一個學(xué)習(xí)器A的P-R曲線被另一個學(xué)習(xí)器B的P-R曲線完全包住,則稱:B的性能優(yōu)于A。若A和B的曲線發(fā)生了交叉,則誰的曲線下的面積大,誰的性能更優(yōu)。但一般來說,曲線下的面積是很難進行估算的,所以衍生出了“平衡點”(Break-Event Point,簡稱BEP),即當P=R時的取值,平衡點的取值越高,性能更優(yōu)。

5 F1-Score

除了使用P-R曲線去兼顧精準率和召回率一個模型之外,最常見的方法就是F-Measure,又稱F-Score。F-Measure是P和R的加權(quán)調(diào)和平均,使用最多也就是F1值了,即:

當F1較高時,模型的性能越好。

6 ROC曲線

介紹了這么多指標為什么還要介紹ROC(Receiver Operating Characteristic Curve,又稱接受者操作特征曲線)曲線呢,因為ROC曲線有很多優(yōu)點,經(jīng)常作為評估二值分類器最重要的指標之一。如:「當測試集中的正負樣本的分布變化的時候,ROC曲線能夠保持不變」。在輸出為概率分布的分類模型中,如果僅使用準確率、精確率、召回率作為評價指標進行模型對比時,都必須是基于某一個給定閾值的,對于不同的閾值,各模型的Metrics結(jié)果也會有所不同,這樣就很難得出一個很置信的結(jié)果。需要注意的是P-R曲線是不依賴閾值的,但是在繪制P-R曲線的時候需要閾值。

ROC曲線的橫坐標為假陽性率(False Positive Rate,F(xiàn)PR);縱坐標為真陽性率(True Positive Rate,TPR)。FPR和TPR的計算方法分別為:

其中,F(xiàn)P是所有負樣本中預(yù)測為正樣本那些負樣本數(shù)目,N是真實負樣本數(shù)目。

其中,TP是所有正樣本中預(yù)測為正樣本那些正樣本數(shù)目,P是真是正樣本數(shù)目。

上面定義有點繞,舉個例子:假設(shè)有10位疑似癌癥患者,其中有3位很不幸確實患了癌癥(P=3),另外7位不是癌癥患者(N=7)。醫(yī)院對這10位疑似患者做了診斷,診斷出3位癌癥患者,其中有2位確實是真正的患者(TP=2)。那么真陽性率TPR=TP/P=2/3。對于7位非癌癥患者來說,有一位很不幸被誤診為癌癥患者(FP=1),那么假陽性率FPR=FP/N=1/7。對于“該醫(yī)院”這個分類器來說,這組分類結(jié)果就對應(yīng)ROC曲線上的一個點(1/7,2/3)。(還是有點繞?那就沉下心理一下)。下面就有一個ROC曲線,來欣賞一下。

「那么為什么ROC曲線衡量效果可以不用在意數(shù)據(jù)的分布呢?」舉個例子:假設(shè)總樣本中,90%是正樣本,10%是負樣本。因為TPR只關(guān)注90%正樣本中有多少是被預(yù)測正確的,而與那10%負樣本毫無關(guān)系,同理,F(xiàn)PR只關(guān)注10%負樣本中有多少是被預(yù)測錯誤的,也與那90%正樣本毫無關(guān)系。這樣就避免了樣本不平衡的問題。那么兩者協(xié)作起來就能夠很好地衡量一個模型了。

「那么如何繪制ROC曲線呢?」這里也需要我們通過閾值來繪制(「與之前一樣,遍歷所有閾值來繪制整條曲線的」)。當改變閾值時,那么預(yù)測出正樣本和負樣本的數(shù)目也隨之變化,如下圖:

「知道了如何繪制ROC曲線了,那么怎么去看ROC曲線呢,也就是說如何根據(jù)ROC曲線確定一個模型的好壞?即如何根據(jù)ROC曲線判斷模型性能?」 FPR(假陽率)表示模型對于負樣本誤判的程度,而TPR(真陽率)表示模型對正樣本召回的程度。可想而知:負樣本誤判的越少越好,正樣本召回的越多越好。所以總結(jié)一下就是TPR越高,同時FPR越低(即ROC曲線越陡),那么模型的性能就越好。可參考如下動態(tài)圖進行理解:

也就是說:在進行模型的性能比較時,若一個模型A的ROC曲線被另一個模型B的ROC曲線完全包住,則稱B的性能優(yōu)于A。若A和B的曲線發(fā)生了交叉,則誰的曲線下的面積大,誰的性能更優(yōu)。下面再次借用文獻2中的圖片演示ROC曲線不隨樣本數(shù)目的變化而變化的動圖,如下:

當然,我們也不可能總是通過看圖去比較幾個模型的性能,那么問題就來了,如何將圖形進行量化呢?

7 AUC值

AUC(Area Under Curve)指的是ROC曲線下的面積大小,該值能夠量化地反映基于ROC曲線衡量出的模型性能。計算AUC值只需要沿著ROC橫軸做積分就可以了。由于ROC曲線一般都處于y=x這條直線的上方(如果不是的話,只要把模型預(yù)測的概率反轉(zhuǎn)成1?p就可以得到一個更好的分類器),所以AUC的取值一般在0.5~1之間。AUC越大,說明分類器越可能把真正的正樣本排在前面,分類性能越好。具體計算方法可參考文獻[3]。

8 混淆矩陣

混淆矩陣(Confusion Matrix)也稱錯誤矩陣,通過它可以直觀地觀察到算法的效果。它的每一列是樣本的預(yù)測分類,每一行是樣本的真實分類(反過來也可以),顧名思義,它反映了分類結(jié)果的混淆程度。混淆矩陣i行j列的原始是原本是類別i卻被分為類別j的樣本個數(shù),計算完之后還可以對之進行可視化,可看看文獻[2]中的混淆矩陣圖片演示:

9 多分類

最基本的內(nèi)容是二分類,多分類也可以拆分為多個二分類進行。在了解二分類的基礎(chǔ)上,我們來看看如何衡量一個多分類模型的性能了,畢竟實際的問題屬于多分類的概率是比較大的。

估算模型全局性能的方法有兩種:宏平均(macro-average)和微平均(micro-average)。綜合來看宏平均會比微平均更可靠一些,因為微平均受稀有類別影響更大。宏平均平等對待每一個類別,所以它的值主要受到稀有類別的影響,而微平均平等考慮數(shù)據(jù)集中的每一個樣本,所以它的值受到常見類別的影響比較大。

簡單來說,宏平均就是先算出每個混淆矩陣的P值和R值,然后取得平均P值macro-P和平均R值macro-R,再算出F1值。微平均則是計算出混淆矩陣的平均TP、FP、TN、FN,接著進行計算P、R,進而求出F1值。同理可以使用這兩種方式計算出其他的衡量指標。這兩種計算公式如下:

原文標題:機器學(xué)習(xí)分類器性能標準(Accuracy、Precision、Recall、P-R曲線、F1等)你是否真的懂了?

文章出處:【微信公眾號:自然語言處理愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6820

    瀏覽量

    88748
  • 機器學(xué)習(xí)
    +關(guān)注

    關(guān)注

    66

    文章

    8353

    瀏覽量

    132315

原文標題:機器學(xué)習(xí)分類器性能標準(Accuracy、Precision、Recall、P-R曲線、F1等)你是否真的懂了?

文章出處:【微信號:NLP_lover,微信公眾號:自然語言處理愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    這些電源常用仿真軟件,知道嗎

    ,便于工程師驗證分析。 電源仿真為電源系統(tǒng)開發(fā)帶來很多便利 : ▍電源的設(shè)計與分析: 在電源方案制定過程中,可利用電源仿真手段輔助電源電路設(shè)計與分析,提升電源方案的制定效率與設(shè)計可靠性; ▍電源性能
    發(fā)表于 10-25 14:20

    電源的這些常識知道嗎

    因為電源部件是消耗品,導(dǎo)致電源有一定的使用壽命。因此,使用一定時間后,我們或多或少會出現(xiàn)一些異?,F(xiàn)象。一些簡單的學(xué)生可以簡單地自己解決。然而,許多情況下,涉及技術(shù)問題的人無法開始。這時,我們需要知道
    的頭像 發(fā)表于 09-26 13:58 ?184次閱讀

    PCB打樣不簡單:這些特殊工藝知道嗎

    打樣不僅涉及標準的工藝流程,還包含多種特殊工藝,以滿足不同設(shè)計需求和應(yīng)用場景。本文將深入探討PCB打樣中的幾種特殊工藝,包括金手指處理、阻抗控制、盲孔與埋孔技術(shù)、厚
    的頭像 發(fā)表于 09-18 13:39 ?607次閱讀
    PCB打樣不簡單:<b class='flag-5'>這些</b>特殊工藝<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?

    深度學(xué)習(xí)中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域的重要任務(wù)之一,廣泛應(yīng)用于人體活動識別、系統(tǒng)監(jiān)測、金融預(yù)測、醫(yī)療診斷等多個領(lǐng)域。隨
    的頭像 發(fā)表于 07-09 15:54 ?658次閱讀

    電抗這些特點知道嗎

    電抗是一種用于電力系統(tǒng)中的重要設(shè)備,它可以用來改善電力質(zhì)量、穩(wěn)定電壓和提高系統(tǒng)的效率。下面薩頓斯(STS)和大家一起來了解電抗的使用說明以及安裝要點。
    的頭像 發(fā)表于 01-30 11:36 ?593次閱讀
    電抗<b class='flag-5'>器</b>的<b class='flag-5'>這些</b>特點<b class='flag-5'>你</b>都<b class='flag-5'>知道嗎</b>

    烘缸軸頭磨損的原因大家知道嗎

    電子發(fā)燒友網(wǎng)站提供《烘缸軸頭磨損的原因大家知道嗎.docx》資料免費下載
    發(fā)表于 01-23 09:53 ?0次下載

    回饋電子負載的正確使用方法,知道嗎

    回饋電子負載的正確使用方法,知道嗎? 回饋電子負載是一種用來模擬電路負載的儀器,它能夠向電路提供可控的電流或電壓,以測試電路的性能和穩(wěn)定性。在電子設(shè)計、電路調(diào)試和故障排除等領(lǐng)域,回饋電子負載被廣泛
    的頭像 發(fā)表于 01-18 14:32 ?736次閱讀

    太陽能光伏發(fā)電原理及優(yōu)點,知道嗎?

    太陽能光伏發(fā)電原理及優(yōu)點,知道嗎? 太陽能光伏發(fā)電是一種利用太陽能將其轉(zhuǎn)化為電能的發(fā)電方式。它基于光伏效應(yīng),即當光線照射到半導(dǎo)體材料上時,會激發(fā)出電子,從而形成電流。 光伏發(fā)電的原理是基于半導(dǎo)體
    的頭像 發(fā)表于 12-29 15:17 ?1238次閱讀

    SMT絲印技術(shù)的歷史發(fā)展的四個階段,知道嗎?

    SMT絲印技術(shù)的歷史發(fā)展的四個階段,知道嗎?
    的頭像 發(fā)表于 12-27 10:15 ?828次閱讀

    LED沒有燈絲是靠什么發(fā)光的,知道嗎?

    LED沒有燈絲是靠什么發(fā)光的,知道嗎? LED是一種半導(dǎo)體材料制成的電子元件,它通過電流在半導(dǎo)體材料中的復(fù)合和重新結(jié)合而發(fā)光,而不像傳統(tǒng)的白熾燈泡需要依靠燈絲來發(fā)光。在這篇文章中,我將為您詳細介紹
    的頭像 發(fā)表于 12-20 11:16 ?1054次閱讀

    運算放大器的種類都有哪些?知道嗎

    運算放大器的種類都有哪些?知道嗎
    的頭像 發(fā)表于 12-13 15:14 ?724次閱讀
    運算放大器的種類都有哪些?<b class='flag-5'>你</b><b class='flag-5'>知道嗎</b>?

    5大高精密多層pcb的特點知道嗎

    5大高精密多層pcb的特點知道嗎
    的頭像 發(fā)表于 12-08 16:10 ?827次閱讀

    肖特基二極管4大特性,知道嗎

    肖特基二極管4大特性,知道嗎
    的頭像 發(fā)表于 12-07 16:29 ?665次閱讀
    肖特基二極管4大特性,<b class='flag-5'>你</b>都<b class='flag-5'>知道嗎</b>?

    pcb菲林是什么?這5個作用你知道嗎

    pcb菲林是什么?這5個作用你知道嗎
    的頭像 發(fā)表于 11-22 11:14 ?7474次閱讀

    知道繼電器的其他分類方法嗎?這些繼電器都有什么作用呢?

    知道繼電器的其他分類方法嗎?這些繼電器都有什么作用呢? 繼電器是一種電氣控制裝置,其作用是在控制電路中完成電信號的增強、轉(zhuǎn)換、隔離、保護等功能。根據(jù)其工作原理、結(jié)構(gòu)和用途的不同,可以
    的頭像 發(fā)表于 11-17 13:00 ?801次閱讀