R語言數據挖掘實踐——模型評估相關概念解析

R語言數據挖掘實踐——模型評估相關概念解析

在介紹Rattle程序包的具體使用之前,先簡要介紹一些相關概念

誤判率

用於評估模型性能的最簡便的方法便是分析模型的誤判率。誤判率的具體計算時根據模型預測結果同真實值之間的差別而計算出來的。我們可以簡單地通過用誤判的樣本個數除以樣本總數而得到相應的模型誤判率。

正確/錯誤的肯定判斷、正確/錯誤的否定判斷

這4個概念來自於模型的混淆矩陣,但這4個概念的具體應用卻不僅僅侷限於模型的混淆矩陣。

在案例的天氣預測模型中,如果模型預測為“下雨”並且明天確實下雨了,那麼這便是一個正確的肯定判斷;同理,如果模型預測同第二天的真實情況都為“不下雨”,那麼這便是一個正確的否定判斷。另一方便,如果模型預測為“下雨”,然而真實的情況是第二天沒有下雨,那麼我們將這個預測結果稱為錯誤的肯定判斷;同理,如果預測結果為“不下雨”,而真實結果是下雨了,那麼我們稱之為錯誤的否定判斷。

其實,如果只是探究模型的誤判率,並不需要這麼具體的劃分,但是之所以進行這樣具體的劃分,也是有其重要意義的。

比如說在Rattle天氣數據集中,模型發生“錯誤肯定判斷”和“錯誤否定判斷”對判斷結果使用者所造成的損失是顯著不同的。一個“錯誤的肯定判斷”也就是說模型預測明天下雨然而明天沒有下雨,那麼這樣會產生的結果是我們帶了傘卻沒用到,這對我們來說其實是一個非常小的損失;但是如果模型發生的是一個“錯誤的否定判斷”,也就是說模型預測明天不下雨但是明天卻下雨了,那麼我們就會被困在雨中或者是將衣服弄溼,這樣的損失相對於錯誤的肯定判斷來說是嚴重的。

再比如,更為引人關注的醫療誤診問題,一個錯誤的肯定判斷(將健康者診斷為患者)所產生的影響(財力、精神損失)將會顯著小於一個錯誤的否定判斷(將患者診斷為健康者)所產生的影響(延誤治療而導致病情加重甚至死亡)。

至於到底是錯誤的肯定判斷產生的不利影響較大,還是錯誤的否定判斷產生的不利影響較大,這個問題主要取決於模型的具體應用環境。在通常情況下,我們都會比較注重正確的肯定判斷以及錯誤的肯定判斷。

精確度、敏感度及特異性

模型的精確度是指正確的肯定判斷與全部肯定判斷的比值,模型的精確度主要是用於評測模型針對肯定的預測結果的準確度。

模型的敏感度是指模型正確的肯定判斷與真實的肯定結果的比率,模型的敏感度主要用於測評模型具體能夠鑑別出實際樣本的肯定結果中有多少個真實結果。

模型的特異性主要是用於測評模型具體能夠鑑別出實際樣本的否定結果中有多少個否定結果,該值剛好與模型的敏感度測評的範圍相異。


分享到:


相關文章: