2017-07-06 31 views
0

我試圖通過出口C50包構建了一個模型,R.出口從C5.0模型庭審最後

我使用partykit包提取的最後審判,但它沒有返回相同合適的價值。

我不明白爲什麼as.party.c5.0函數與C5.0函數完全不一樣。它適用於第一次試用,但不適用於其他試用。

例如:

poc_db<-iris 
fullTree_prun_iris_Winow <- C5.0(Species ~ ., data =poc_db, trials = 10,control = C5.0Control(CF = 0.90,noGlobalPruning = FALSE,winnow = T)) 

cat(fullTree_prun_iris_Winow$output) 
----- Trial 9: ----- 
Decision tree: 
Petal.Width <= 0.6: setosa (10.5) 
Petal.Width > 0.6: 
:...Petal.Width <= 1.7: versicolor (116.3/49.4) 
    Petal.Width > 1.7: virginica (22.2) 

modParty <- C50:::as.party.C5.0(fullTree_prun_iris_Winow,trial=10) 
Fitted party: 
[1] root 
| [2] Petal.Width <= 0.6: setosa (n = 50, err = 0.0%) 
| [3] Petal.Width > 0.6 
| | [4] Petal.Width <= 1.7: versicolor (n = 54, err = 9.3%) 
| | [5] Petal.Width > 1.7: virginica (n = 46, err = 2.2%) 

我們應該有4點:...花斑癬(49分之116)

感謝您的幫助

回答

0

第四點有54個觀測,並其中49個是雜色的。見

table(subset(poc_db, Petal.Width > 0.6 & Petal.Width <= 1.7)$Species) 
##  setosa versicolor virginica 
##   0   49   5 

因此,partykit報告對應5/54n = 54err = 9.3%C5.0報告的值不同,因爲它是通過幾次試驗來推動樹木,而不是僅僅使用一棵樹。

+0

假設我運行了一個C5算法並進行了10次試驗,給出了具有不同錯誤率的10個規則集,然後我得到了比其他10個錯誤率低得多的最終提升錯誤率。我可以分別爲所有10個試驗提取規則集,如何獲得升壓錯誤率的規則? – Ezio

+0

使用樹進行提升並不會產生一棵樹作爲結果模型。 –