I have a set of RNA-Seq data with 20 samples (so ~14000 features and 20 observations), of which I have 3 groups with 3,3 and 4 samples respectively and other just scattered around which I will group them into the 4th "others" group. If I wish to do a supervised feature selection, is lasso a good option?

And if lasso is good enough (r package glmnet always gives warning when there is less than 8 samples in one group) how should I determine the lambda and what cross-validation method should I use? I usually use k-fold cross validation through cv.glmnet() function in glmnet and use the suggested lambda value, but it seems like k-fold cross validation is out of the picture with this number of samples.

  • $\begingroup$ Usually Lasso is a good first step, but with three orders of magnitude more features than observations, I think you should instead collect more data. $\endgroup$ Nov 27, 2019 at 14:53
  • $\begingroup$ Please say more about the scientific goal of your study. It's possible that some approach based on representation of sets of genes related to specific biological functions or biochemical pathways might be more useful than trying to pull out a small number of individual genes. But that would depend on what you are trying to accomplish. $\endgroup$
    – EdM
    Nov 27, 2019 at 15:00
  • $\begingroup$ @DemetriPananos Thanks for the reply! I would love to but they are rare subtype of a disease. My personal thought is that the medical science community will need more data scientists than ever to help developing methods with this p>>n data structure. I am not sure if it is possible. $\endgroup$
    – Kent
    Nov 28, 2019 at 15:48
  • $\begingroup$ @EdM My goal is to see if within these group they have features that are similar enough I could actually call them groups. Because the label now is based on their cytogenetics abnormality. It might be relevant to their gene expression pattern, but it might not as well. I did a clustering with top 5% genes with highest MAD, but with the small number of samples I got advice that a supervised feature selection approach may be better, so I want to see if lasso is also useful. $\endgroup$
    – Kent
    Nov 28, 2019 at 16:00

1 Answer 1


The limited feature selection provided by LASSO (particularly with so few members of each class, a handful of features at most) would be unlikely to be very useful. The particular features selected would certainly be highly dependent on your particular data sample. Generalization to further cases could be poor.

You should instead take advantage of the many biological correlations among gene-expression values, within each of your classes, to find sets of genes whose expression levels best distinguish among the classes. There has been extensive work in bioinformatics to develop tools for that type of analysis, many of which are available through the Bioconductor website.

In particular, the geNetClassifier seems well suited to your work. It identifies genes that best distinguish among pre-defined classes (and thus represents supervised learning), returns a support-vector-machine multi-class classifier with estimates of discrimination power and generalizability, and displays a network of interactions and co-expressions that illustrate how the selected sets of genes distinguish among the classes. Although you only have 20 samples, the examples in the vignette for the package were based on only 60 samples, so there might be some hope of nevertheless getting useful results (if only to guide future work in this direction).

  • $\begingroup$ Thanks! I assume features used in the SVM would be useful for other clustering/classification techniques as well? Anyways I will try it and find it out. $\endgroup$
    – Kent
    Dec 3, 2019 at 14:23

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.