天天看點

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

本節書摘來自異步社群出版社《寫給程式員的資料挖掘實踐指南》一書中的第5章,第5.5節,作者:【美】ron zacharski(紮哈爾斯基),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

本章一開始提到一些我們可能對分類器感興趣的問題,其中包括“分類器到底好到什麼程度”。我們已經對評估方法進行了改善,并且考察了10折交叉驗證和混淆矩陣。前幾頁的例子中,我們也算出分類器預測汽車mpg的精确率為53.316%。但是,53.316%意味着分類器到底是好還是壞?為回答這個問題,我們将繼續考察一個統計量,即kappa統計量。

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

kappa統計量比較的是分類器與僅僅基于随機的分類器的性能。為展示其中的原理,我将引入一個比mpg更簡單的例子,即再次回到女運動員那個例子。下面給出了女運動員分類的結果:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

上表也給出了每行和每列的總執行個體數目。為确定精确率,我們将對角線的數字相加(35+88+28=151)然後除以總的執行個體數,得到151/200=0.755。

現在将生成另一個混淆矩陣,該矩陣代表随機分類器(進行随機預測的分類器)的分類結果。首先,生成一個隻包含上述表格中總數的表格:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

觀察最後一行,我們發現有50%的可能會将一個執行個體分為“籃球運動員”(200個執行個體中有100個),有20%的可能會将執行個體分為“體操運動員”(200個執行個體中有40個),有30%的可能會将執行個體分為“馬拉松運動員”。

接下來将使用這些比值将上述表格的剩餘部分填滿。随機分類器将會把20%的人分為體操運動員。60的20%為12,是以我們将12填入表格中。該分類器會将50%的人分為籃球運動員(即60中的30人),會将30%的人分為馬拉松運動員。

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

接下來按照上述方法繼續處理。實際有100個籃球運動員,随機分類器會将其中的20%(20人)分為體操運動員,50%分為籃球運動員,30%分為馬拉松運動員。表中第四行可以依此類推,于是有:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

為确定随機分類器的精确率,我們将對角線的數字累加并除以執行個體總數,得到:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

kappa統計量給出的是相對于随機分類器而言實際分類器到底好多少,其計算公式為:

.

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

其中,p(c)是實際分類器的精确率,而p(r)是随機分類器的精确率。本例中實際分類器的精确率為0.755,而随機分類器的精确率為0.37,是以有:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

如何解釋上述結果中的0.61?這到底意味着分類器是差、好還是很好?下面給出一個幫助我們了解該統計量大小的對照表:

一個最常被人引用的kappa統計量區間對照解釋

<0: 比随機方法的性能還差(less than chance performance)

0.01-0.20: 輕微一緻(slightly good)

0.21-0.40: 一般一緻(fair performance)

0.41-0.60: 中度一緻(moderate performance)

0.61-0.80: 高度一緻(substantially good performance)

0.81-1.00: 接近完美(near perfect performance)

① landis, jr, koch, gg. 1977. the measurement of observeragree- ment for categorical data. biometrics 33:159-74

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

假設我們開發了一個傻瓜分類器,它基于大家對10部電影的喜好程度預測當今大學生的專業。我們的資料集由來自計算機科學、教育、英語和心理學專業的600名學生組成。下面給出了混淆矩陣,請計算kappa統計量并對結果進行解釋。

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

該分類器的精确率為0.697。

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

該分類器有多好?請計算kappa統計量并對結果進行解釋。

首先,對所有列進行求和有:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

接下來,為随機分類器建構混淆矩陣,有:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

随機分類器的精确率為:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

于是我們建構的分類器的p(c)為0.697,

随機分類器的p(r)為0.292,

kappa統計量為:

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

這也意味着我們算法的性能較好。

《寫給程式員的資料挖掘實踐指南》——5.5Kappa統計量

繼續閱讀