Skip to content
The accuracy of a Random Forest is dependent upon the accuracy of the individual trees as well as the diversity between them. This is an attempt to add an additional element of diversity through randomness between the trees without sacrificing their accuracy.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
algae
pima
spam
README
ROC.R
Spam.txt
algae.csv
algae.test.csv
algae.test.response.csv
overnightTestAlgaeMoreTrees.R
overnightTestSpam.R
randomForestM.R
spam.names.txt
spamSmall.txt
spamTest.txt
spam_m10trees50.jpg
testRFM.R

README

Alex's Crazy Random Forest Idea
===============================

Random Forests typically promote diversity between trees by using a number of predictors to 
consider at each node (M) which is less than the total number of predictors (P). M seems to 
range from about 0.3 P to about 0.6 P, but is constant in the entire forest. This 
implementation chooses M from a distribution. 


In an attempt to increase diversity without losing accuracy 
(for each of the trees) this code draws M from a distribution before choosing the predictor 
variables to use at each node. My thought is that this will allow some nodes in each tree to 
be much more accurate than other nodes. Since the trees are grown out completely (i.e. not
pruned) this might make a difference. Tests indicate nothing conclusive. This implementation 
was a little better for some data sets and a little worse for others. All the data and tests 
are in this repo. The professor of the class and I both agree it is worth exploring further 
with more data and a faster implementation perhaps in something like C that can then be 
hooked into R. If I wind up doing that, I'll add a link here. 

The main code (building and traversing of the trees) is in randomForestM.R and the test scripts 
are in the files that begin with overnight. There are comparisons with the standard random forest 
code in those test scripts. 

You can’t perform that action at this time.