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

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

        编程问答

        一文详尽混淆矩阵、准确率、精确率、召回率、F1值、P-R 曲线、ROC 曲线、AUC 值、Micro-F1 和 Macro-F1

        發布時間:2024/3/13 编程问答 39 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 一文详尽混淆矩阵、准确率、精确率、召回率、F1值、P-R 曲线、ROC 曲线、AUC 值、Micro-F1 和 Macro-F1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

        文章目錄

              • 二分類的評價指標
                • 一、混淆矩陣與 TP、TN、FP、FN
                • 二、準確率、精確率、召回率、F1值
                • 三、P-R 曲線
                • 四、ROC 曲線、AUC 值
                • 五、P-R曲線和ROC曲線有什么區別,如何選擇?
              • 多分類的評價指標
              • References

        二分類的評價指標

        對于二分類問題,機器預測的和實際的還是會有所偏差,所以我們引入以下幾個概念來評價分類器的優良。

        一、混淆矩陣與 TP、TN、FP、FN

        混淆矩陣

        ??預測的類?
        ??正類負類合計
        實際的類正樣本TPFNP
        負樣本FPTNN
        ?合計P’N’P+N

        T,True;F,False;P,Positive;N,Negative

        TP:真陽,將正樣本判斷為正類。注:陽,意動用法,認為…是陽性。真陽,即判斷樣本為陽性是正確的。

        TN:真陰,將負樣本判斷為負類。

        FP:假陽,將負樣本判斷為正類。

        FN:假陰,將正樣本判斷為負類。

        P:正樣本個數 = TP + FN

        N:負樣本個數

        P’:被分類器分為正元組的樣本數。

        N’:被分類器分為負元組的樣本數。

        S:總預測樣本個數 = P + N = P‘ + N’

        二、準確率、精確率、召回率、F1值

        首先介紹三個指標。

      1. 準確率(Accuracy)。顧名思義,就是所有的預測正確(正類負類)的占總預測樣本個數(S)的比重。
      2. A c c u r a c y = T P + T N S Accuracy = \frac{TP+TN}{S} Accuracy=STP+TN?

      3. 精確率(Precision),查準率。即正確預測為正的占全部預測為正的比例。
      4. P r e c i s i o n = T P P ′ Precision = \frac{TP}{P'} Precision=PTP?

      5. 召回率(Recall),查全率。即正確預測為正的占全部實際為正的比例。
      6. R e c a l l = T P P Recall = \frac{TP}{P} Recall=PTP?

        深入理解:召回率與精確率用于衡量分類器的漏報(棄真)和虛警(取偽)比例。精確率越低,則虛警的可能性越大。一般在生活中,棄真的后果比取偽嚴重得多,例如醫生診斷病人是否患有肺炎(COVID-19),取偽,也就是虛驚一場,棄真這可就嚴重了。也就是說,要盡量降低棄真的可能,也就是提高召回率。換而言之,一般情況下,召回率比精確率重要。但只是一般情況,召回率、精確率哪個更重要還是取決于具體應用場景。

        查準率(精確率)可以認為是”寧缺毋濫”,適合對準確率要求高的應用,例如商品推薦,網頁檢索等。查全率(召回率)可以認為是”寧錯殺一百,不放過1個”,適合類似于檢查走私、逃犯信息等。

        人們通常使用準確率和召回率這兩個指標,來評價二分類模型的分析效果。

        但是當這兩個指標發生沖突時,如何權衡?例如以下,A、B 兩個模型哪個的綜合性能更優?

        準確率召回率
        A 模型80%90%
        B 模型90%80%

        為了解決這個問題,人們提出了 F β F_\beta Fβ? 分數。

        F β F_\beta Fβ? 的物理意義就是將準確率和召回率這兩個分值合并為一個分值,在合并的過程中,召回率的權重是準確率的 β \beta β倍。即 W R = β ? W P W_R = \beta\cdot W_P WR?=β?WP? . 則
        F β = ( 1 + β 2 ) ? precision? ? recall ( β 2 ? precision? ) + recall F_{\beta}=\left(1+\beta^{2}\right) \cdot \frac{\text { precision } \cdot \text {recall}}{\left(\beta^{2} \cdot \text { precision }\right)+\text {recall}} Fβ?=(1+β2)?(β2??precision?)+recall?precision??recall?
        F 1 F_1 F1? 分數( F 1 S c o r e F_1\ Score F1??Score )認為召回率和準確率同等重要, F 2 F_2 F2? 分數認為召回率的重要程度是準確率的2倍,而 F 0.5 F_{0.5} F0.5? 分數認為召回率的重要程度是準確率的一半。

        β = 1 \beta=1 β=1 時,
        F 1 = precision? ? recall 0.5 ? ( precision? + recall) F_{1}= \frac{\text { precision } \cdot \text {recall}}{ 0.5 \cdot(\text { precision }+\text {recall)}} F1?=0.5?(?precision?+recall)?precision??recall?

        2 F 1 = 1 P r e c i s i o n + 1 R e c a l l \frac{2}{F_1}=\frac{1}{Precision}+\frac{1}{Recall} F1?2?=Precision1?+Recall1?

        F1 值是P、R的調和平均數,為算數平均數除以幾何平均數,且越大越好。

        三、P-R 曲線

        如果有個劃分點可以把正負樣本完全區分開,那么P-R曲線就是整個1*1的面積。此時的二分類模型是最完美的。

        總之,P-R曲線應該是從(0,0)開始畫的一條曲線,切割1*1的正方形,得到一塊區域。

        在進行比較時,若一個學習器A的P-R曲線被另一個學習器B的P-R曲線完全“包住”,則B的性能優于A。但是兩個學習器的P-R曲線往往會發生交叉。這時候如何根據P-R曲線比較兩個學習器的性能?(其實就是 Precision 和 Recall 率的權衡)

        1、平衡點(BEP):我們認為平衡點越靠近(1,1)則性能越好。

        2、 F 1 F_1 F1? 度量

        3、 F β F_β Fβ? 度量

        不再贅述。

        四、ROC 曲線、AUC 值

        首先引入兩個指標,靈敏度和 1-特異度。

        靈敏度(True Positive Rate,TPR)其實就是召回率,公式如下

        TPR? = T P T P + F N {\text { TPR }=\frac{T P}{T P+F N}} \\ ?TPR?=TP+FNTP?

        1-特異度(False Positive Rate,FPR)是錯判負樣本為正類占所有負樣本的比例,公式如下:

        FPR = F P F P + T N {\text {FPR}=\frac{F P}{F P+T N}} FPR=FP+TNFP?

        以 TPR 為縱軸,以 FPR 為橫軸,畫出 ROC 曲線,ROC 曲線下的面積就是 AUC(Area under Curve)。從 FPR 和 TPR 的定義可以理解,TPR 越高,FPR 越小,我們的模型的性能也就越好。也就是說,ROC 曲線越靠近左上角 (1, 1) 模型越好。

        AUC 是一個模型評價指標,用于二分類模型的評價。

        為什么要用AUC作為二分類模型的評價指標呢?為什么不直接通過計算準確率來對模型進行評價呢?答案是這樣的:機器學習中的很多模型對于分類問題的預測結果大多是概率,即屬于某個類別的概率,如果計算準確率的話,就要把概率轉化為類別,這就需要設定一個閾值,概率大于某個閾值的屬于一類,概率小于某個閾值的屬于另一類,而**閾值的設定直接影響了準確率的計算。**見下圖(b)

        AUC值。AUC (Area Under Curve) 被定義為ROC曲線下的面積。

        顯然這個面積的數值不會大于1。又由于ROC曲線一般都處于y=x這條直線的上方,所以AUC的取值范圍一般在0.5和1之間。

        使用AUC值作為評價標準是因為很多時候ROC曲線并不能清晰的說明哪個分類器的效果更好,而作為一個數值,對應AUC更大的分類器效果更好。

        從AUC判斷分類器(預測模型)優劣的標準:

        AUC = 1,是完美分類器,采用這個預測模型時,存在至少一個閾值能得出完美預測。絕大多數預測的場合,不存在完美分類器。

        0.5 < AUC < 1,優于隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。

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

        AUC < 0.5,比隨機猜測還差;但只要總是反預測而行,就優于隨機猜測。

        一句話來說,AUC值越大的分類器,正確率越高。

        五、P-R曲線和ROC曲線有什么區別,如何選擇?

        圖 a) 和 b) 是原始樣本的 ROC曲線和 PR曲線,

        圖 c) 和 d) 則是將負樣本增加10倍后的 ROC曲線和 PR曲線。

        1)從 a 和 c 可以看出,負樣本增加10倍后,ROC曲線變化不大。分析一下為什么變化不大,其Y軸是TPR,x軸是FPR,當固定一個threshold來計算TPR和FPR的時候,雖然負樣本增加了10倍,也就是FPR的分母雖然變大了,但是正常概率來講,這個時候超過threshold的負樣本量也會隨之增加,也就是分子也會隨之增加,所以總體FPR變化不大,從這個角度來看的話正負樣本稍微不均衡的話,對KS影響也不大,因為KS=max(TPR-FPR),這個前提是正負樣本的量都比較大的情況下,因為只有樣本量比較大的情況下,根據大數定律,計算出來的頻率才非常接近于真實的概率值,有資料顯示正負樣本都超過6000的量,計算的頻率就比較接近概率。所以在樣本量都不是很大的情況下,如果樣本還極端不均衡的話,就會有一些影響。由此可見,ROC曲線能夠盡量降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能。

        2)從 b 和 d 圖可以看出,負樣本增加10倍后,PR 曲線變化比較大。也分析一下為什們變化大,其 Y 軸是precision,x 軸是 recall,當負樣本增加10倍后,在 racall 不變的情況下,必然召回了更多的負樣本,所以精確度會大幅下降,b和d圖示也非常明顯的反映了這一狀況,所以PR曲線變化很大,所以PR曲線對正負樣本分布比較敏感。

        如何選擇呢?

        • 在很多實際問題中,正負樣本數量往往很不均衡。比如,計算廣告領域經常涉及轉化率模型,正樣本的數量往往是負樣本數量的1/1000,甚至1/10000。若選擇不同的測試集,P-R曲線的變化就會非常大,而ROC曲線則能夠更加穩定地反映模型本身的好壞。所以,ROC曲線的適用場景更多,被廣泛用于排序、推薦、廣告等領域。

        • 但需要注意的是,選擇P-R曲線還是ROC曲線是因實際問題而異的,如果研究者希望更多地看到模型在特定數據集上的表現,P-R曲線則能夠更直觀地反映其性能。

        • PR曲線比ROC曲線更加關注正樣本,而ROC則兼顧了兩者。

        • AUC越大,反映出正樣本的預測結果更加靠前。(推薦的樣本更能符合用戶的喜好)

        • 當正負樣本比例失調時,比如正樣本1個,負樣本100個,則ROC曲線變化不大,此時用PR曲線更加能反映出分類器性能的好壞。這個時候指的是兩個分類器,因為只有一個正樣本,所以在畫auc的時候變化可能不太大;但是在畫PR曲線的時候,因為要召回這一個正樣本,看哪個分類器同時召回了更少的負樣本,差的分類器就會召回更多的負樣本,這樣precision必然大幅下降,這樣分類器性能對比就出來了。

        多分類的評價指標

        其實多分類的評價指標的計算方式與二分類完全一樣,只不過我們計算的是針對于每一類來說的召回率、精確度、準確率和 F1分數。

        對于某一個確定的類別來講,P 其實就是實際屬于這一類中的樣本,N 其實就是實際屬于其他類的所有樣本,P’ 其實就是被分類器分類這一類的所有樣本,N’ 就是被分類器分類為其他類的所有樣本數。

        Micro-F1 和 Macro-F1

        最后看Micro-F1和Macro-F1。在第一個多標簽分類任務中,可以對每個“類”,計算F1,顯然我們需要把所有類的F1合并起來考慮。

        這里有兩種合并方式:

        第一種計算出所有類別總的 Precision和 Recall,然后計算F1。這種方式被稱為Micro-F1微平均。

        microP ? = 1 n ∑ 1 n P i microR ? = 1 n ∑ 1 n R i mircoF ? 1 = 2 × macroP ? × macroR ? macroP ? + macroR ? \begin{aligned} &\operatorname{microP}=\frac{1}{n} \sum_{1}^{n} P_{i}\\\\ &\operatorname{microR}=\frac{1}{n} \sum_{1}^{n} R_{i}\\\\ &\operatorname{mircoF} 1=\frac{2 \times \operatorname{macroP} \times \operatorname{macroR}}{\operatorname{macroP}+\operatorname{macroR}} \end{aligned} ?microP=n1?1n?Pi?microR=n1?1n?Ri?mircoF1=macroP+macroR2×macroP×macroR??

        第二種方式是計算出每一個類的 Precison 和Recall 后計算F1,最后將F1平均。這種方式叫做Macro-F1宏平均。

        microP ? = T P  ̄ T P  ̄ × F P  ̄ microR ? = T P  ̄ T P  ̄ × F N  ̄ mircoF ? 1 = 2 × microP ? × microR ? microP ? + microR ? \begin{aligned} &\operatorname{microP}=\frac{\overline{T P}}{\overline{T P} \times \overline{F P}}\\\\ &\operatorname{microR}=\frac{\overline{T P}}{\overline{T P} \times \overline{F N}}\\\\ &\operatorname{mircoF} 1=\frac{2 \times \operatorname{microP} \times \operatorname{microR}}{\operatorname{microP}+\operatorname{microR}} \end{aligned} ?microP=TP×FPTP?microR=TP×FNTP?mircoF1=microP+microR2×microP×microR??

        References

        [1] https://blog.csdn.net/liuningjie1119/article/details/72855114

        [2] P-R曲線及與ROC曲線區別

        [3] https://blog.csdn.net/CatCherry/article/details/100576677

        [4] https://blog.csdn.net/zhihua_oba/article/details/78677469

        [5] https://blog.csdn.net/u013063099/article/details/80964865

        [6] https://blog.csdn.net/CatCherry/article/details/100576677

        [7] 精確率與召回率,RoC 曲線與 PR 曲線

        總結

        以上是生活随笔為你收集整理的一文详尽混淆矩阵、准确率、精确率、召回率、F1值、P-R 曲线、ROC 曲线、AUC 值、Micro-F1 和 Macro-F1的全部內容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。