偏斜類的誤差度量
以預(yù)測(cè)腫瘤是否為惡性為例扫责,我們使用邏輯回歸模型吃谣,其假設(shè)函數(shù)hθ(x)撕予,當(dāng)y = 1時(shí)鲫惶,我們可以預(yù)測(cè)腫瘤為惡性腫瘤;當(dāng)y = 0時(shí)实抡,我們可以預(yù)測(cè)腫瘤為良性腫瘤欠母。
現(xiàn)假設(shè)邏輯回歸模型在測(cè)試集上的誤差為1%,這看似該模型非常完美吆寨。但根據(jù)我們的資料發(fā)現(xiàn)在訓(xùn)練集中只有0.5%的患者確為惡性腫瘤赏淌,這時(shí)此前的1%的誤差就不是那么完美了。(注:本人對(duì)此處有點(diǎn)不解啄清,測(cè)試集上的誤差為1%六水,而訓(xùn)練集上我們可以確定有0.5%的患者確為惡性腫瘤,這為什么可以做出判斷在測(cè)試集上的1%的誤差就不是那么完美?)
為了便于理解缩擂,我們先看如下代碼:
function y = predictCancer(x)
y = 0; % ignore x!
return
該代碼中鼠冕,y始終為0,即始終對(duì)腫瘤的預(yù)測(cè)為良性胯盯,則在訓(xùn)練集上的誤差為0.5%懈费。邏輯回歸模型與上述代碼對(duì)比,其誤差可能比上述代碼要高博脑,這就能說明邏輯回歸模型比上述代碼要差嗎憎乙?
答案當(dāng)然是不能的。對(duì)于正樣本數(shù)量遠(yuǎn)大于負(fù)樣本數(shù)量的情況叉趣,我們將其稱為偏斜類泞边。對(duì)于這種情況,分類誤差或精度作為評(píng)估度量就不太適用了疗杉。因此阵谚,對(duì)于出現(xiàn)偏斜類這種情況,我們引入查準(zhǔn)率(Precision)和召回率(Recall)烟具。
我們?nèi)砸灶A(yù)測(cè)腫瘤是否為惡性腫瘤為例梢什,y = 1表示腫瘤為惡性腫瘤:
對(duì)于查準(zhǔn)率而言,其值越高越好朝聋,表示患者為惡性腫瘤的可能性就越大嗡午;對(duì)于召回率而言,其值也越高越好冀痕,其表示在所有實(shí)際患者為惡性腫瘤的中荔睹,模型成功預(yù)測(cè)的百分比。
這對(duì)于上述代碼中y = 0的算法言蛇,其召回率為0僻他,從而得知其算法是不好的。
查準(zhǔn)率與召回率之間的權(quán)衡
在邏輯回歸中腊尚,我們知道假設(shè)函數(shù)hθ(x)的取值范圍為0~1中姜,當(dāng)hθ(x) ≥ 0.5時(shí),我們可以預(yù)測(cè)y = 1跟伏;當(dāng)hθ(x) < 0.5時(shí),我們可以預(yù)測(cè)y = 0翩瓜。
我們以預(yù)測(cè)腫瘤是否為惡性腫瘤為例受扳,現(xiàn)假設(shè)我們只有在非常確定的情況下,我們才能將腫瘤預(yù)測(cè)為惡性腫瘤兔跌,即y = 1勘高。
此時(shí),我們將臨界點(diǎn)(Threshold)修改為0.7,即當(dāng)hθ(x) ≥ 0.7時(shí)华望,我們可以預(yù)測(cè)y = 1蕊蝗;當(dāng)hθ(x) < 0.7時(shí),我們可以預(yù)測(cè)y = 0赖舟。這對(duì)情況下蓬戚,我們的查準(zhǔn)率和召回率會(huì)發(fā)生相應(yīng)變化,即此時(shí)表現(xiàn)為高查準(zhǔn)率和低召回率宾抓。
又假設(shè)我們不想對(duì)已患有惡性腫瘤的患者錯(cuò)過治療子漩,因此我們將臨界點(diǎn)修改為0.3,即當(dāng)hθ(x) ≥ 0.3時(shí)石洗,我們可以預(yù)測(cè)y = 1幢泼;當(dāng)hθ(x) < 0.3時(shí),我們可以預(yù)測(cè)y = 0讲衫。此時(shí)查準(zhǔn)率和召回率表現(xiàn)為低查準(zhǔn)率和高召回率缕棵。
在不同的臨界點(diǎn)的情況下,查準(zhǔn)率和召回率可有如下函數(shù)圖:
其中涉兽,函數(shù)曲線取決于邏輯回歸模型的具體算法招驴。
那么在偏斜類的情況下,我們?nèi)绾胃鶕?jù)查準(zhǔn)率和召回率判斷模型的好壞花椭?這里我們引入F1 值(F1 Score忽匈,也可稱為F Score),其公式為:
其中矿辽,P表示查準(zhǔn)率丹允,R表示召回率。
對(duì)于上圖袋倔,根據(jù)F1 值我們可知Algorithm 1為較好的算法雕蔽。