基礎(chǔ)概念
首先需要了解TP,TN,FP,FN的概念

準(zhǔn)確率(accuracy)

精確率(precision) 描述的是在所有預(yù)測出來的正例中有多少是真的正例,是評估捕獲的成果中目標(biāo)成果所占得比例;

召回率(recall) ,描述的是所有正例我能發(fā)現(xiàn)多少,是從關(guān)注領(lǐng)域中召回目標(biāo)類別的比例

Precision和Recall指標(biāo)有時(shí)候會出現(xiàn)的矛盾的情況,這樣就需要綜合考慮他們,最常見的方法就是F-Measure
F1值——精確率和召回率的調(diào)和均值

PR曲線
PR曲線中的P代表的是precision(精準(zhǔn)率),R代表的是recall(召回率),其代表的是精準(zhǔn)率與召回率的關(guān)系,一般情況下,將recall設(shè)置為橫坐標(biāo),precision設(shè)置為縱坐標(biāo)。
功能說明:
一條PR曲線要對應(yīng)一個(gè)閾值(統(tǒng)計(jì)學(xué)的概率)。通過選擇合適的閾值(比如K%)對樣本進(jìn)行合理的劃分,概率大于K%的樣本為正例,小于K%的樣本為負(fù)例,樣本分類完成后計(jì)算相應(yīng)的精準(zhǔn)率和召回率,最后我們會得到對應(yīng)關(guān)系,如下圖所示。

ROC曲線
ROC作用:
在類不平衡的情況下,如正樣本90個(gè),負(fù)樣本10個(gè),直接把所有樣本分類為正樣本,得到識別率為90%。但這顯然是沒有意義的。單純根據(jù)Precision和Recall來衡量算法的優(yōu)劣已經(jīng)不能表征這種病態(tài)問題。
ROC曲線由兩個(gè)變量FPR和TPR所得。
TPR = TP / (TP + FN) 描述的是所有正例我能發(fā)現(xiàn)多少,即召回率
FPR = FP / (FP + TN) 描述的是所有負(fù)例中我預(yù)測錯(cuò)誤的比例
ROC曲線距離左上角越近,證明分類器效果越好。

如上,是三條ROC曲線,在0.23處取一條直線。那么,在同樣的低FPR=0.23的情況下,紅色分類器得到更高的PTR。也就表明,ROC越往上,分類器效果越好。我們用一個(gè)標(biāo)量值A(chǔ)UC來量化它。
AUC
AUC值為ROC曲線所覆蓋的區(qū)域面積,顯然,AUC越大,分類器分類效果越好。
AUC = 1,是完美分類器,采用這個(gè)預(yù)測模型時(shí),不管設(shè)定什么閾值都能得出完美預(yù)測。絕大多數(shù)預(yù)測的場合,不存在完美分類器。
0.5 < AUC < 1,優(yōu)于隨機(jī)猜測。這個(gè)分類器(模型)妥善設(shè)定閾值的話,能有預(yù)測價(jià)值。
AUC = 0.5,跟隨機(jī)猜測一樣(例:丟銅板),模型沒有預(yù)測價(jià)值。
AUC < 0.5,比隨機(jī)猜測還差;但只要總是反預(yù)測而行,就優(yōu)于隨機(jī)猜測。
計(jì)算方式:AUC為ROC曲線下的面積,那我們直接計(jì)算面積可得。面積為一個(gè)個(gè)小的梯形面積之和。計(jì)算的精度與閾值的精度有關(guān)。

參考鏈接:
https://blog.csdn.net/guzhao9901/article/details/107961184
https://blog.csdn.net/huipingx/article/details/85019294
https://www.cnblogs.com/maybe2030/p/5375175.html#_label3
代碼:https://blog.csdn.net/qq_27575895/article/details/81476871?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control