天天看點

Weka Explorer(探索者界面) 詳解(3)決策樹算法,分類器評價标準說明J4.8 決策樹算法

這篇文章中我會通過幾個例子向大家介紹一些weka中經典的資料挖掘算法和評估算法的手段。

J4.8 決策樹算法

在預處理标簽頁 點選 open file ,選擇 Weka 安裝目錄下 data 檔案夾中的 weather.numberic.arff 。(在這個目錄中有很多經典的樣本)

進入分類器标簽,點選 Choose 按鈕,開始選擇分類器算法。在彈出的樹狀目錄中找到 trees 節點,打開它,選擇 J48 算法。驗證方式選擇 10折交叉驗證。點選 Start 開始分類。

J4.8算法是著名的決策樹算法C4.5的一個改進版,也是最後一個免費版本。選完這個算法後可以看到weka對J48算法賦予了預設參數:-C 0.25 -M 2。前者是用于剪枝的置信因子,後者指定了每個葉結點最小的執行個體數。詳見:http://blog.csdn.net/buaalei/article/details/7105965。

運作完成後可以在 output 界面檢視結果。

outlook = sunny
|   humidity <= 75: yes (2.0)
|   humidity > 75: no (3.0)
outlook = overcast: yes (4.0)
outlook = rainy
|   windy = TRUE: no (2.0)
|   windy = FALSE: yes (3.0)
           

括号内的數字表示有多少執行個體到達該葉結點。如果有錯誤的分類,則括号内會出現兩個數字,比如(2.0/1.0),表示其中有一個節點是錯誤分類。

在 output 版面的最後可以看到一些 進階的統計資料,如下圖:

Weka Explorer(探索者界面) 詳解(3)決策樹算法,分類器評價标準說明J4.8 決策樹算法

我們一個一個解釋:

Kappa statistic:

這個參數是把分類器與随機分類器作比較得出的一個對分類器的評價值。那麼0.186是怎麼計算出來的呢?

從output 版面的最下面的 confusion matrix(混淆矩陣)中,我們發現分類器把10個執行個體預測成了a情況(其中7對3錯),4個執行個體預測成了b情況(2對2錯)。如果換做一個随機分類器,也把10個執行個體預測成了a,4個執行個體預測成了b,那麼該随機分類器的預測準确情況會是什麼樣的?按照機率分布,正确地預測a的機率為9/14,正确地預測b的機率為5/14。是以該分類器能準确預測的執行個體個數為 10×(9/14)+4×(5/14)=110/14≈7.85。Kappa=(9-7.85)÷(14-7.85)≈0.186

參考文獻:http://biostatistics.cmu.edu.tw/online/teaching_corner_011.pdf

Mean absolute error 和 Root mean squared error: 

平均絕對誤差,用來衡量分類器預測值和實際結果的差異,越小越好。

Relative absolute error 和 Root relative squared error:

舉個例子來說明:實際值為500,預測值為450,則絕對誤差為50;實際值為2,預測值為1.8,則絕對誤差為0.2。這兩個數字50和0.2差距很大,但是表示的誤差率同為10%,是以有時絕對誤差不能展現誤差的真實大小,而相對誤差通過展現誤差占真值的比重來反映誤差大小,效果更佳。

詳見:http://www.doc88.com/p-89192423133.html

TP,FP:

TP表示識别率,對某一分類的執行個體,有多少機率把它識别出來。提高識别率在醫療系統中很重要,如果病人有病,卻沒有識别出來,後果很嚴重! FP表示誤判率,對其他分類的執行個體,有多少機率把執行個體識别成本分類。

Precision:

精準度。表示對某一個類别的分類中,正确的執行個體數占總數的比率。

Recall:

召回率,又稱查全率。表示識别正确的執行個體數,占該類别的執行個體的總數。由于本例中沒有未識别的執行個體,是以Recall=TP。

F-Measure:

這個值是精準度和召回率的綜合,在現實中精準度和召回率往往不可兼得,是以引入了F值,F值越大說明精準度和召回率都相對較高,詳見:http://baike.baidu.com/link?url=3mOTzT44pst0QuciABcnqnIHV-RI3XrfldYTZrPRxq6uEnttl-IQnVC-c2HOJ3jTvAXgXKSi3htc86bsamPoQq 

ROC Area:

詳見:http://blog.csdn.net/rav009/article/details/9096867

混淆矩陣Confusion Matrix:

第一行的“7”表示有7個a情況的執行個體得到正确分類,第一行的“2”表示有2個a情況被錯誤地分類成了b。 第二行的“3”表示有3個b情況的執行個體被錯誤的分類成了啊,第二行的”2“表示有2個b情況得到正确的分類。

轉載于:https://www.cnblogs.com/rav009/p/5131126.html