2017-07-06 58 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

使用树进行提升并不会产生一棵树作为结果模型。 –