一、分類模型評(píng)估
1、混淆矩陣(confusion matrix)
TP(True Positive) —- 將正類預(yù)測(cè)為正類數(shù)
FN(False Negative) —- 將正類預(yù)測(cè)為負(fù)類數(shù)
FP(False Positive) —- 將負(fù)類預(yù)測(cè)為正類數(shù)
TN(True Negative) —- 將負(fù)類預(yù)測(cè)為負(fù)類數(shù)
分類模型總體判斷的準(zhǔn)確率:反映分類器統(tǒng)對(duì)整個(gè)樣本的判定能力,能將正的判定為正,負(fù)的判定為負(fù)
精確率(Precision):指的是所得數(shù)值與真實(shí)值之間的精確程度;預(yù)測(cè)正確的正例數(shù)占預(yù)測(cè)為正例總量的比率,一般情況下,精確率越高,說明模型的效果越好。
公式如下:
召回率(Recall ):預(yù)測(cè)對(duì)的正例數(shù)占真正的正例數(shù)的比率,一般情況下,Recall越高,說明有更多的正類樣本被模型預(yù)測(cè)正確,模型的效果越好。
公式如下:
False discovery rate (FDR):錯(cuò)誤發(fā)現(xiàn)率,表示在模型預(yù)測(cè)為正類的樣本中,真正的負(fù)類的樣本所占的比例。一般情況下,錯(cuò)誤發(fā)現(xiàn)率越小,說明模型的效果越好。
公式如下:
False omission rate (FOR):錯(cuò)誤遺漏率,表示在模型預(yù)測(cè)為負(fù)類的樣本中,真正的正類所占的比例。即評(píng)價(jià)模型”遺漏”掉的正類的多少。一般情況下,錯(cuò)誤遺漏率越小,模型的效果越好。
公式如下:
Negative predictive value (NPV):陰性預(yù)測(cè)值,在模型預(yù)測(cè)為負(fù)類的樣本中,真正為負(fù)類的樣本所占的比例。 一般情況下,NPV越高,說明的模型的效果越好。
公式如下:
False positive rate (FPR), Fall-out:假正率,表示的是,預(yù)測(cè)為正例的負(fù)樣本數(shù),占模型負(fù)類樣本數(shù)量的比值。一般情況下,假正類率越低,說明模型的效果越好。
公式如下:
False negative rate (FNR), Miss rate:假負(fù)類率,缺失率,模型預(yù)測(cè)為負(fù)類的樣本中,是正類的數(shù)量,占真實(shí)正類樣本的比值。缺失值越小,說明模型的效果越好。
公式如下:
True negative rate (TNR):一般情況下,真負(fù)類率越高,說明的模型的效果越好
公式如下:
F1是精確率和召回率的調(diào)和均值,即:
舉例:
如有150個(gè)樣本數(shù)據(jù),這些數(shù)據(jù)分成3類,每類50個(gè)。分類結(jié)束后得到的混淆矩陣為:
每一行之和為50,表示50個(gè)樣本,第一行說明類1的50個(gè)樣本有43個(gè)分類正確,5個(gè)錯(cuò)分為類2,2個(gè)錯(cuò)分為類3。
混淆矩陣的每一列代表了預(yù)測(cè)類別,每一列的總數(shù)表示預(yù)測(cè)為該類別的數(shù)據(jù)的數(shù)目;每一行代表了數(shù)據(jù)的真實(shí)歸屬類別,每一行的數(shù)據(jù)總數(shù)表示該類別的數(shù)據(jù)實(shí)例的數(shù)目。每一列中的數(shù)值表示真實(shí)數(shù)據(jù)被預(yù)測(cè)為該類的數(shù)目:如下圖,第一行第一列中的43表示有43個(gè)實(shí)際歸屬第一類的實(shí)例被預(yù)測(cè)為第一類,同理,第二行第一列的2表示有2個(gè)實(shí)際歸屬為第二類的實(shí)例被錯(cuò)誤預(yù)測(cè)為第一類。
那么針對(duì)以上的混淆矩陣,我們?cè)鯓尤∮?jì)算召回率以及假正率值呢?
針對(duì)類1:共有150個(gè)測(cè)試樣本,類1為50個(gè),那類2和類3就屬于其他樣本共為100個(gè),此時(shí)
混淆矩陣的缺點(diǎn):
一些positive事件發(fā)生概率極小的不平衡數(shù)據(jù)集(imbalanced data),混淆矩陣可能效果不好。比如對(duì)信用卡交易是否異常做分類的情形,很可能1萬筆交易中只有1筆交易是異常的。一個(gè)將所有交易都判定為正常的分類器,準(zhǔn)確率是99.99%。這個(gè)數(shù)字雖然很高,但是沒有任何現(xiàn)實(shí)意義。
2、ROC
ROC曲線指受試者工作特征曲線 / 接收器操作特性曲線(receiver operating characteristic curve),是反映敏感性和特異性連續(xù)變量的綜合指標(biāo),是用構(gòu)圖法揭示敏感性和特異性的相互關(guān)系,它通過將連續(xù)變量設(shè)定出多個(gè)不同的臨界值,從而計(jì)算出一系列敏感性和特異性,再以敏感性為縱坐標(biāo)、(1-特異性)為橫坐標(biāo)繪制成曲線,曲線下面積越大,診斷準(zhǔn)確性越高。
ROC曲線的縱軸是真正例率TPR,橫軸是假正例率FPR。
給定m+個(gè)正例,m-個(gè)反例,根據(jù)學(xué)習(xí)器預(yù)測(cè)的概率將樣本從大到小排列。先把閥值設(shè)到最大,使得所有的樣本都被預(yù)測(cè)為負(fù),此時(shí)TPR,FPR都為0,在坐標(biāo)(0,0)處標(biāo)記一個(gè)點(diǎn)。接著將閥值依次設(shè)置為每個(gè)樣例的概率值,計(jì)算TPR,FPR兩個(gè)值作為坐標(biāo)點(diǎn),將所有點(diǎn)連接起來即得到ROC曲線
我們可以看出,左上角的點(diǎn)(TPR=1,FPR=0),為完美分類,也就是這個(gè)醫(yī)生醫(yī)術(shù)高明,診斷全對(duì)。
點(diǎn)A(TPR > FPR),醫(yī)生A的判斷大體是正確的。中線上的點(diǎn)B(TPR=FPR),也就是醫(yī)生B全都是蒙的,蒙對(duì)一半,蒙錯(cuò)一半;下半平面的點(diǎn)C(TPR < FPR),這個(gè)醫(yī)生說你有病,那么你很可能沒有病,醫(yī)生C的話我們要反著聽,為真庸醫(yī)。
上圖中一個(gè)閾值,得到一個(gè)點(diǎn)。現(xiàn)在我們需要一個(gè)獨(dú)立于閾值的評(píng)價(jià)指標(biāo)來衡量這個(gè)醫(yī)生的醫(yī)術(shù)如何,也就是遍歷所有的閾值,得到ROC曲線。
還是一開始的那幅圖,假設(shè)如下就是某個(gè)醫(yī)生的診斷統(tǒng)計(jì)圖,直線代表閾值。我們遍歷所有的閾值,能夠在ROC平面上得到如下的ROC曲線。
曲線距離左上角越近,證明分類器效果越好。
如上,是三條ROC曲線,在0.23處取一條直線。那么,在同樣的低FPR=0.23的情況下,紅色分類器得到更高的TPR。也就表明,ROC曲線越往上,分類器效果越好。
(2)根據(jù)ROC曲線評(píng)估模型
a.若一個(gè)學(xué)習(xí)器的ROC曲線被另一個(gè)學(xué)習(xí)器的曲線完全包住,則后者優(yōu)于前者。
b.若兩個(gè)學(xué)習(xí)器的ROC曲線發(fā)生交叉,則可根據(jù)曲線下方的面積大小來比較,ROC曲線下方的面積為AUC(Area Under ROC Curve).
3、AUC
曲線下面積(AUC,Area Under the Curve)
ROC曲線下面積經(jīng)常用作衡量分類模型質(zhì)量的指標(biāo)。隨機(jī)分類的AUC為0.5,而完美分類的AUC等于1。在實(shí)踐中,大多數(shù)分類模型的AUC在0.5和1之間。
AUC值為ROC曲線所覆蓋的區(qū)域面積,顯然,AUC越大,分類器分類效果越好。
AUC = 1,是完美分類器,采用這個(gè)預(yù)測(cè)模型時(shí),不管設(shè)定什么閾值都能得出完美預(yù)測(cè)。絕大多數(shù)預(yù)測(cè)的場(chǎng)合,不存在完美分類器。
0.5 < AUC < 1,優(yōu)于隨機(jī)猜測(cè)。這個(gè)分類器(模型)妥善設(shè)定閾值的話,能有預(yù)測(cè)價(jià)值。
AUC = 0.5,跟隨機(jī)猜測(cè)一樣(例:丟銅板),模型沒有預(yù)測(cè)價(jià)值。
AUC < 0.5,比隨機(jī)猜測(cè)還差;但只要總是反預(yù)測(cè)而行,就優(yōu)于隨機(jī)猜測(cè)。
AUC的物理意義
假設(shè)分類器的輸出是樣本屬于正類的score(置信度),則AUC的物理意義為,任取一對(duì)(正、負(fù))樣本,正樣本的score大于負(fù)樣本的score的概率。
計(jì)算AUC:
第一種方法:AUC為ROC曲線下的面積,那我們直接計(jì)算面積可得。面積為一個(gè)個(gè)小的梯形面積之和。計(jì)算的精度與閾值的精度有關(guān)。
第二種方法:根據(jù)AUC的物理意義,我們計(jì)算正樣本score大于負(fù)樣本的score的概率。取N*M(N為正樣本數(shù),M為負(fù)樣本數(shù))個(gè)二元組,比較score,最后得到AUC。時(shí)間復(fù)雜度為O(N*M)。
第三種方法:與第二種方法相似,直接計(jì)算正樣本score大于負(fù)樣本的概率。我們首先把所有樣本按照score排序,依次用rank表示他們,如最大score的樣本,rank=n(n=N+M),其次為n-1。那么對(duì)于正樣本中rank最大的樣本,rank_max,有M-1個(gè)其他正樣本比他score小,那么就有(rank_max-1)-(M-1)個(gè)負(fù)樣本比他score小。其次為(rank_second-1)-(M-2)。最后我們得到正樣本大于負(fù)樣本的概率為 ,時(shí)間復(fù)雜度為O(N+M)。
總結(jié):
AUC(Area Under Curve) 被定義為 ROC 曲線下的面積, 顯然這個(gè)面積的數(shù)值不會(huì)大于 1。 又由于 ROC 曲線一般都處于 y=x 這條直線的上方, 所以 AUC 的取值范圍在 0.5 和 1 之間。 使用 AUC 值作為評(píng)價(jià)標(biāo)準(zhǔn)是因?yàn)楹芏鄷r(shí)候 ROC 曲線并不能清晰的說明哪個(gè)分類器的效果更好, 而作為一個(gè)數(shù)值, 對(duì)應(yīng) AUC 更大的分類器效果更好。
首先 AUC 值是一個(gè)概率值, 當(dāng)你隨機(jī)挑選一個(gè)正樣本以及一個(gè)負(fù)樣本, 當(dāng)前的分類算法根據(jù)計(jì)算得到的 Score 值將這個(gè)正樣本排在負(fù)樣本前面的概率就是 AUC 值。 當(dāng)然, AUC 值越大, 當(dāng)前的分類算法越有可能將正樣本排在負(fù)樣本前面, 即能夠更好的分類。
二、回歸模型評(píng)估
1、SSE(和方差)
SSE(和方差、誤差平方和):The sum of squares due to error
該統(tǒng)計(jì)參數(shù)計(jì)算的是擬合數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)的誤差的平方和,計(jì)算公式如下:
2、MSE(均方差)
MSE(均方差、方差):Mean squared error
該統(tǒng)計(jì)參數(shù)是預(yù)測(cè)數(shù)據(jù)和原始數(shù)據(jù)對(duì)應(yīng)點(diǎn)誤差的平方和的均值,也就是SSE/n,和SSE沒有太大的區(qū)別,計(jì)算公式如下:
3、RMSE(均方根、標(biāo)準(zhǔn)差)
RMSE(均方根、標(biāo)準(zhǔn)差):Root mean squared error,其又被稱為RMSD(root mean square deviation),其定義如下:
其中,y 是第個(gè)樣本的真實(shí)值,^y是第個(gè)樣本的預(yù)測(cè)值,n 是樣本的個(gè)數(shù)。該評(píng)價(jià)指標(biāo)使用的便是歐式距離。
RMSE雖然廣為使用,但是其存在一些缺點(diǎn),因?yàn)樗鞘褂闷骄`差,而平均值對(duì)異常點(diǎn)(outliers)較敏感,如果回歸器對(duì)某個(gè)點(diǎn)的回歸值很不理性,那么它的誤差則較大,從而會(huì)對(duì)RMSE的值有較大影響,即平均值是非魯棒的。
4、R-Squared(確定系數(shù))
在講確定系數(shù)之前,我們需要介紹另外兩個(gè)參數(shù)SSR和SST,因?yàn)榇_定系數(shù)就是由它們兩個(gè)決定的
(1)SSR:Sum of squares of the regression,即預(yù)測(cè)數(shù)據(jù)與原始數(shù)據(jù)均值之差的平方和,公式如下:
(2)SST:Total sum of squares,即原始數(shù)據(jù)和均值之差的平方和,公式如下:
細(xì)心的網(wǎng)友會(huì)發(fā)現(xiàn),SST=SSE+SSR,呵呵只是一個(gè)有趣的問題。而我們的“確定系數(shù)”是定義為SSR和SST的比值,故
其實(shí)“確定系數(shù)”是通過數(shù)據(jù)的變化來表征一個(gè)擬合的好壞。由上面的表達(dá)式可以知道“確定系數(shù)”的正常取值范圍為[0 1],越接近1,表明方程的變量對(duì)y的解釋能力越強(qiáng),這個(gè)模型對(duì)數(shù)據(jù)擬合的也較好
5、MAE(平均絕對(duì)誤差)
平均絕對(duì)誤差(MAE:Mean Absolute Error)就是指預(yù)測(cè)值與真實(shí)值之間平均相差多大,公式如下:
其中,yi是真實(shí)值,^yi是預(yù)測(cè)值,ei = | yi ? ^yi| 即是絕對(duì)誤差。
6、交叉驗(yàn)證(Cross-Validation)
交叉驗(yàn)證,有的時(shí)候也稱作循環(huán)估計(jì)(Rotation Estimation),是一種統(tǒng)計(jì)學(xué)上將數(shù)據(jù)樣本切割成較小子集的實(shí)用方法,該理論是由Seymour Geisser提出的。在給定的建模樣本中,拿出大部分樣本進(jìn)行建模型,留小部分樣本用剛建立的模型進(jìn)行預(yù)報(bào),并求這小部分樣本的預(yù)報(bào)誤差,記錄它們的平方加和。這個(gè)過程一直進(jìn)行,直到所有的樣本都被預(yù)報(bào)了一次而且僅被預(yù)報(bào)一次。把每個(gè)樣本的預(yù)報(bào)誤差平方加和,稱為PRESS(predicted Error Sum of Squares)。
交叉驗(yàn)證的基本思想是把在某種意義下將原始數(shù)據(jù)(dataset)進(jìn)行分組,一部分做為訓(xùn)練集(train set),另一部分做為驗(yàn)證集(validation set or test set)。首先用訓(xùn)練集對(duì)分類器進(jìn)行訓(xùn)練,再利用驗(yàn)證集來測(cè)試訓(xùn)練得到的模型(model),以此來做為評(píng)價(jià)分類器的性能指標(biāo)。
本文轉(zhuǎn)自:博客園 - 平原2016,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。
原文鏈接:https://blog.csdn.net/sinat_30353259/article/details/81610154
評(píng)論
查看更多