Functions to implements random forest method for model based recursive partitioning. The mob() function, developed by Zeileis et al. (2008), within 'party' package, is modified to construct model-based decision trees based on random forests methodology. The main input function mobforest.analysis() takes all input parameters to construct trees, compute out-of-bag errors, predictions, and overall accuracy of forest. The algorithm performs parallel computation using cluster functions within 'parallel' package.
mobForest
implements random forest method for model based recursive partitioning. The mob()
function, developed by Zeileis et al (2008), within party package, is modified to construct model-based decision trees based on random forests methodology. The main input function mobforest.analysis()
takes all input parameters to construct trees, compute out-of-bag errors, predictions, and overall accuracy of forest. The algorithm performs parallel computation using clusterApply()
function within the parallel package.
install.packages("mobForest")
To run the example, you will need the mlbench
package. It contains a boston housing dataset for machine learning algorithms to run benchmark tests on.
library(mlbench)
set.seed(1111)
# Random Forest analysis of model based recursive partitioning load data
data("BostonHousing", package = "mlbench")
BostonHousing <- BostonHousing[1:90, c("rad", "tax", "crim", "medv", "lstat")]
# Recursive partitioning based on linear regression model medv ~ lstat with 3 trees. 1 core/processor used.
rfout <- mobforest.analysis(as.formula(medv ~ lstat), c("rad", "tax", "crim"),
mobforest_controls = mobforest.control(ntree = 3, mtry = 2, replace = TRUE,
alpha = 0.05, bonferroni = TRUE, minsplit = 25), data = BostonHousing,
processors = 1, model = linearModel, seed = 1111)
rfout
Our latest version of mobForest was focused on revamping existing code to work with the newest version of R. We also made strides to consolidate all code to common formats. Although no substantive changes were made (no new functions or changes to algorithms), users should be aware of these smaller tweaks.
period.sep
naming conventionunderscore_sep
naming conventiontestthat
. These tests were causing R CMD Check
to run indefinitely. Forums suggested that this happens when using the parallel package. All tests passed on the latest build when ran locally.:::
when calling hidden functions of another package. To overcome this, we copied the necessary hidden packages from party
into utility.R
.