模型構建 1 模型評估 分類問題

2022-05-08 13:21:15 字數 3840 閱讀 9036

對模型的評估是指對模型泛化能力的評估,主要通過具體的效能度量指標來完成。在對比不同模型的能力時,使用不同的效能度量指標可能會導致不同的評判結果,因此也就意味著,模型的好壞只是相對的,什麼樣的模型是較好的,不僅取決於資料和演算法,還取決於任務需求。本文主要對分類模型的效能度量指標(方法)進行總結。

本文以二分類為例進行介紹。

對於二分類問題,將模型**的結果(正例、反例)與實際類別(正例、反例)進行比較,就會產生四種情況:

真正例(true positive, tp):將實際正例**為正例

假正例(false positive, fp):將實際反例**為正例

真反例(true negative, tn):將例項反例**為反例

假反例(false negative, fn):將實際正例**為反例

tp+fp+tn+fn 為全部樣例數,並得到如下矩陣:

稱這個矩陣為混淆矩陣(confusion matrix)

錯誤率(errorrate)是指**錯誤的樣例佔比,即:

\[errorrate = \frac

\]引用周志華老師書中的例子,錯誤率就是**出的結果中,將好瓜**成了壞瓜、將壞瓜**成了好瓜的比例。

正確率(acuracy),又稱為精度,就是與錯誤率相對的指標,即1-錯誤率,

\[accuracy = \frac=1-errorrate

\]仍然是西瓜這個例子,正確率是**出的結果中,將好瓜**成了好瓜、將壞瓜**成了壞瓜的比例。

錯誤率和正確率是一對從整體上去度量模型**能力的指標,它無法評估模型對正例(或者反例)的**能力強弱。這時候就需要使用查準率和查全率。

查準率(precision),又稱為命中率,是指模型**的正例(或反例)中正確的比例。

\[precision = \frac

\]查準率就是**出的好瓜中,實際是好瓜的比例。

查全率(recall),又稱為召回率、覆蓋率,是指模型**正確的正例(或反例)佔全部實際正例(或反例)的比例。

\[recall = \frac

\]查全率就是**出的好瓜中,實際為好瓜的數量佔全部好瓜的比例。

查全率和查準率是一對相矛盾的指標。以西瓜分類為例,為了將更多的好瓜識別出來(即提高查全率),那麼就需要去識別更多的西瓜,但是這樣就會影響命中率(即查準率)可能使查準率降低;反過來如果希望選出的瓜中真實的好瓜比例盡可能高(即提高查準率),那麼就需要盡量選擇最優把握的瓜,那麼就可能會漏掉不少好瓜,即影響了查全率。

因此,嘗試定義查準率(precision)、查全率(recall)的復合指標。

這裡介紹常用的復合指標它們的加權調和平均數\(f_1\)以及它的一般形式\(f_\)

\[f_1=\frac

$$\]

f_=\frac2)*precision*recall}2*precision+recall}

\[$f_1$認為查全率和查準率重要程度相同,而$f_$則使用乙個引數$\beta>0$度量二者之間的相對重要程度,$\beta=1$時,$f_$即為$f_1$,代表二者重要程度相同;$\beta>1$時,代表查全率更重要;$\beta<1$時,代表查準率更重要。

當乙個模型進行了多次訓練和**,就會得到多個混淆矩陣,那又將如何計算這些指標?

有兩種思路:

1)先計算各個混淆矩陣的指標,然後計算其平均值;

2)先計算混淆矩陣的平均值,再計算各個指標;

##2.pr曲線

模型對測試樣本的**一般會產生乙個實值或者概率,同時設定乙個**閾值(threshold)**作為正例的判別標準,將**值與這個閾值進行比較,大於這個閾值的認為是正例,小於這個閾值的認為是反例。對於同乙個模型來說,設定不同的閾值,就會產生不同的**結果。以**查準率(precision)作為縱軸,查全率(recall)作為橫軸**,調整這個閾值,就會得到一條變化曲線,稱這條曲線為**pr曲線**。

通過pr曲線不僅可以直觀地反映模型在不同閾值下的查全率和查準率,而且也可以用來比較兩個不同模型的學習效能。

如下是幾種pr曲線示例:

!(pr曲線有以下幾點**特徵**:

1)查準率(precision)、查全率(recall)都是0-1之間的指標,因此,橫縱軸區間為[0,1];

2)曲線必經原點(0,0),因為當查全率為0時,查準率必然為0;

3)隨著查全率的增加,查準率可能下降,也可能上公升;

4)曲線不可能經過(1,0),因為當查全率為1時,查準率必然不為0;

5)當乙個模型的pr曲線完全包住另乙個模型的pr曲線,說明前乙個模型的效能優於後乙個模型。比如,當查全率相同時,後者的查準率必然大於前者;當查準率相同時,後者的查全率必然大於前者。

6)當乙個模型的pr曲線與另乙個模型的pr曲線發生交叉時,很難比較二者的效能優劣。有一種簡單的比較方式,即做出p=r直線與兩條pr曲線相交,交點即為查全率與查準率相等的點,這個點稱為**平衡點(break-event point,即bep)**,比較這個平衡點的高低即可,認為bep大的曲線,模型效能更好。

!(還有一種比較準確的方式,即通過計算pr曲線下方的面積來比較兩個模型的效能優劣,稱這個面積為auc-pr(area under roc curve)。

##3.roc曲線

**roc曲線(receiver operating characteristic),受試者工作特徵曲線**,與pr曲線類似,通過調整正例的判別閾值繪製出來的。不同的是,roc曲線**以「真正例率(true positive rate,tpr)」作為縱軸,以「假正例率(false positive rate,tpr)」作為橫軸**。tpr和fpr的定義如下:

\]tpr=\frac

\[\]

fpr=\frac

\[如下是幾種roc曲線示例:

!(roc曲線的定義**於醫學診斷,如果從「真正例率(true positive rate,tpr)」、「假正例率(false positive rate,tpr)」上來解釋可能不太直觀,我們直接回到醫學領域理解可能要更容易。

在醫學診斷中,我們要識別病人是否有病,以陰陽為例,判斷有病,即為找到陽例,判斷無病,即為找到陰例。我們的任務是要盡可能地有病的人找出來,也盡量不要把沒有病的人診斷為有病,所以要關注兩個指標,即真陽性的樣例中識別為陽性的比例、真陰性的樣例中識別為陽性的比例,也就是上文中提到的tpr和fpr,第乙個指標要盡可能大,第二個指標要盡可能小。但是,這兩個指標類似於查全率和查準率,是相互制約的,要想識別出更多有病的人,就需要去診斷更多的人,那麼就有可能誤傷更多沒有病的人。以這兩個指標為橫縱軸,不斷調整陽例的識別標準,就繪製出了roc曲線。

roc曲線有以下幾點**特徵**:

1)正對角線,代表隨機猜想**,一半**正確,一半**錯誤。

2)點(0,1)是理想狀態,代表全部正例都被**為正例,同時沒有反例被**為正例。因此,越接近(0,1)點,**能力越好。

3)如果乙個模型的roc曲線完全包住另乙個模型的roc曲線,說明第一條曲線更接近於(0,1)點,其模型效能更好。

4)如果兩個模型的roc曲線出現相交的情況,同樣可以通過曲線下方與座標軸圍成的面積大小來比較二者的效能優劣,面積大的說明效能更好。這個面積指標被稱作roc-auc(area under roc curve)。

假設roc曲線是由點$(x_1,y_1),(x_2,y_2)……(x_m,y_m)$連成折線圍成了,那麼roc-auc的取值為下方各個小梯形面積之和:

!(一般來說,我們說的auc都是指roc-auc。

##4.參考與感謝

\[1] [統計學習方法](

\[2] [機器學習](

\[3] [roc曲線與auc值](

\]

分類模型的評估

1.混淆矩陣 對於乙個分類器 二分類 結果和真實情況總共存在四種情況,值分為正類 負類,真實值分分為正類 父類,兩兩組合,共有四種情況,如下所示,即組成乙個混淆矩陣 針對多分類問題,真實情況有n類,情況有n類,所以其混淆矩陣為nxn 準確率即為所有 正確的樣本 樣本總數 即 accuracy tp ...

評估分類模型的指標 召回率 精確率 F1值

評估分類模型效能的方法是 混淆矩陣,其總體思路是統計a類別例項被 分類 為b類別的次數。召回率 recall 和精度 precise 是廣泛用於統計學分類領域的兩個度量值,用來評估分類結果的質量。召回率 recall rate,也叫查全率 是檢索出的相關文件數和文件庫中所有的相關文件數的比率,衡量的...

如何構建分類模型

1.iv 資訊量 在用邏輯回歸模型方法構建分類模型時候,需要對自變數進行篩選 使用資訊量 iv 來衡量自變數的 能力。資訊量越大 能力越強,就越應該放入 模型中。2.woe值 是 iv值的基礎。即 證據權重 weight of evidence.woe 是對原始自變數的一種編碼形式。而要對乙個變數進...