I want to use rpart (a R package) to build a decision tree model. The data is a high-dimensional expression matrix, with ~50,000 predictors and ~500 samples. The response is a categorical variable.

I cannot run rpart directly because it is too resource-consuming (the process will get killed by the system). So I have to find a way to reduce the dimension first. There are some RF based FS packages like Boruta and VSURF. But still, running them directly is beyond my resource or time limit.

So is there something I can do to decrease the number of predictors at the beginning? If I can reduce the dimension below 2000, it will be much easier for me to handle. I'm thinking of using ANOVA to eliminate irrelevant variables , but I'm not sure whether it's appropriate.

  • $\begingroup$ You could try using mutual information. $\endgroup$
    – Aaron
    Commented Apr 22, 2016 at 22:14

1 Answer 1


Sure, you can reduce dimensions, but you need the original 50k gene expression information -- so don't throw anything away, yet. First, filter out genes that are not significantly differentially expressed across the categories. To do this, use ANOVA or the Kruskal-Wallis test.

Once you identify genes significantly differentially expressed across categories, run the R-Project's Random Forests decision tree classification package, which will provide Importance Scores for the genes that contribute the most to prediction accuracy of the classes (categories).

Let the Random Forests package do the "heavy lifting" for you, and it will be helpful if you reduce the 50K down to something on the ~2-3k level before running RF.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.