Like earth can be trained simultaneously for degree and nprune, is there a way to train ctree simultaneously for mincriterion and maxdepth?
Also, I notice there are separate methods ctree and ctree2, and if both options are attempted to tune with one method, the summary averages the option it doesn't support. The full log is attached, and notice these lines below for method="ctree" where maxdepth=c(2,4) are averaged to maxdepth=3. Fitting: maxdepth=2, mincriterion=0.95 Fitting: maxdepth=4, mincriterion=0.95 Fitting: maxdepth=2, mincriterion=0.99 Fitting: maxdepth=4, mincriterion=0.99 mincriterion Accuracy Kappa maxdepth Accuracy SD Kappa SD maxdepth SD 0.95 0.939 0.867 3 0.0156 0.0337 1.01 0.99 0.94 0.868 3 0.0157 0.0337 1.01 I use R 2.12.1 and caret 4.78. Andrew
> require(party) > require(mlbench) > data(BreastCancer) > BreastCancer$Id <- NULL > grid <- expand.grid(.maxdepth=c(2:6), .mincriterion=c(0.95, 0.97, 0.99)) > print(grid) .maxdepth .mincriterion 1 2 0.95 2 3 0.95 3 4 0.95 4 5 0.95 5 6 0.95 6 2 0.97 7 3 0.97 8 4 0.97 9 5 0.97 10 6 0.97 11 2 0.99 12 3 0.99 13 4 0.99 14 5 0.99 15 6 0.99 > ct.best <- train(Class ~ . , data=BreastCancer, method="ctree", tuneGrid=grid) Loading required package: class Attaching package: 'class' The following object(s) are masked from 'package:reshape': condense Attaching package: 'e1071' The following object(s) are masked from 'package:gtools': permutations Fitting: maxdepth=2, mincriterion=0.95 Fitting: maxdepth=3, mincriterion=0.95 Fitting: maxdepth=4, mincriterion=0.95 Fitting: maxdepth=5, mincriterion=0.95 Fitting: maxdepth=6, mincriterion=0.95 > grid <- expand.grid(.maxdepth=c(2, 4), .mincriterion=c(0.95, 0.99)) > print(grid) .maxdepth .mincriterion 1 2 0.95 2 4 0.95 3 2 0.99 4 4 0.99 > ct.best <- train(Class ~ . , data=BreastCancer, method="ctree", tuneGrid=grid) Fitting: maxdepth=2, mincriterion=0.95 Fitting: maxdepth=4, mincriterion=0.95 Fitting: maxdepth=2, mincriterion=0.99 Fitting: maxdepth=4, mincriterion=0.99 Aggregating results Selecting tuning parameters Fitting model on full training set > print(ct.best) 683 samples 80 predictors Pre-processing: None Resampling: Bootstrap (25 reps) Summary of sample sizes: 683, 683, 683, 683, 683, 683, ... Resampling results across tuning parameters: mincriterion Accuracy Kappa maxdepth Accuracy SD Kappa SD maxdepth SD 0.95 0.939 0.867 3 0.0156 0.0337 1.01 0.99 0.94 0.868 3 0.0157 0.0337 1.01 Accuracy was used to select the optimal model using the largest value. The final value used for the model was mincriterion = 0.99. > > > > > grid <- expand.grid(.maxdepth=c(2, 4), .mincriterion=c(0.95, 0.99)) > print(grid) .maxdepth .mincriterion 1 2 0.95 2 4 0.95 3 2 0.99 4 4 0.99 > ct.best <- train(Class ~ . , data=BreastCancer, method="ctree2", > tuneGrid=grid) Fitting: maxdepth=2, mincriterion=0.95 Fitting: maxdepth=4, mincriterion=0.95 Fitting: maxdepth=2, mincriterion=0.99 Fitting: maxdepth=4, mincriterion=0.99 Aggregating results Selecting tuning parameters Fitting model on full training set > print(ct.best) 683 samples 80 predictors Pre-processing: None Resampling: Bootstrap (25 reps) Summary of sample sizes: 683, 683, 683, 683, 683, 683, ... Resampling results across tuning parameters: maxdepth Accuracy Kappa mincriterion Accuracy SD Kappa SD mincriterion SD 2 0.935 0.858 0.97 0.0163 0.0343 0.0202 4 0.935 0.857 0.97 0.0142 0.0322 0.0202 Accuracy was used to select the optimal model using the largest value. The final value used for the model was maxdepth = 4.
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.