2016-06-08 5 views
2

Ich möchte das Paket 'partykit' verwenden, um mit ctree() und cforest() Klassifizierungsbäume und -wälder zu erstellen. Da meine Datensatz 50000 Zeilen und 30 Spalten enthält, würde Ich mag minsplit bis 150 und minbucket bis 50. Leider setzen, wenn ich meinen CodeR-Paket 'partykit' ungenutztes Argument in ctree_control

xplr=ctree_control(mincriterion = 0.999, minsplit=150, minbucket=50) 
set.seed(123) 
cit999=ctree(as.factor(order) ~ startHour, data=transact_train, controls=xplr) 

Ich betrete die folgende Fehlermeldung:

Error in ctree_control(...) : 
unused argument (controls = list(teststat = "quad", testtype = "Bonferroni", mincriterion = -0.00100050033358353, minsplit = 150, minbucket = 50, minprob = 0.01, stump = FALSE, mtry = Inf, maxdepth = Inf, multiway = FALSE, splittry = 2, maxsurrogate = 0, majority = FALSE, applyfun = function (X, FUN, ...) 
{ 
FUN <- match.fun(FUN) 
if (!is.vector(X) || is.object(X)) X <- as.list(X) 
.Internal(lapply(X, FUN)) 
})) 

Kann mir jemand sagen, warum das passiert?

+2

Es wäre hilfreich, wenn Sie diese reproduzierbar http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

Antwort

4

Es liegt daran, dass Sie controls anstelle von control angegeben haben.

require(partykit) 
data(HuntingSpiders) # example data from partykit 
xplr=ctree_control(mincriterion = 0.999, minsplit=150, minbucket=50) 
set.seed(123) 

arct.lute <- as.factor(HuntingSpiders$arct.lute) 
cit999=ctree(formula=arct.lute ~ ., data=HuntingSpiders, control=xplr) 
cit999 
Model formula: 
arct.lute ~ pard.lugu + zora.spin + pard.nigr + pard.pull + aulo.albi + 
    troc.terr + alop.cune + pard.mont + alop.acce + alop.fabr + 
    arct.peri + water + sand + moss + reft + twigs + herbs 

Fitted party: 
[1] root: 0.35714285714 (n = 28, err = 14.428571429) 

Number of inner nodes: 0 
Number of terminal nodes: 1 
> 
+1

Wow gemacht! Ich dachte über diese 2 Tage nach, überprüfte den Code mehrmals und fand das nicht !!! Vielen, vielen Dank! – prznrl

+0

@prznrl Sicher, glücklich zu helfen. Fühlen Sie sich frei, diese Antwort als die Lösung zu markieren, wenn es hilfreich war. :) –