I am trying to do a correlation based feature selection for a classification model. Dataset details is given below.

Training :- 38 Samples, 7130 features. represented as T

Testing :- 34 Samples, 7130 features. represented as S

Target: 2 classes (Yes | No )

So, I need to select first 100 features highly correlated with class variable.

Here I have mentioned different approaches that I've tried, but I am not sure which approach is best. Please go through approaches given below and comment the best one.

1) Combined T and S to single table X = T + S. Let {A} be set of all features and a is an element of {A}. I calculated correlation of all a and then selected top 100 features to create a new dataset with dimension 72x100

2) I applied correlation selection on T. The selected features will be extracted from S. We get new datasets T` and S`

But, I am not sure how to do cross validation in this procedure? Please help.

  • $\begingroup$ Your question seem to be similar to this one: stats.stackexchange.com/questions/27750 . It seems that feature selection need to by approach 2 and it need to repeated for each fold of cross validation. See this answer for a demo (MATLAB) code: stats.stackexchange.com/a/27751/156469 $\endgroup$
    – user156469
    May 31, 2017 at 10:52
  • 1
    $\begingroup$ This is not correlation based, but. Another approach might be to use lasso. Regularized regression is meant to handle the $ 'n<p'$ issue. Lasso will in fact set some (most?) of the regression coefficients to zero. The glmnet package will do this. $\endgroup$
    – meh
    May 31, 2017 at 13:49

1 Answer 1


Looks like you have to small sample size and to much features. 34+38=72 sample is to small for training classifier. Visual exporation of data is the best for your case.

  • 3
    $\begingroup$ Don't think visual exploration will be reliable either. Related to split-sample validation, the sample size is too small by a factor of about 200 for split-sample methods to be stable. $\endgroup$ May 31, 2017 at 13:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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