Pre-filtering genes for Principal Component Analysis I have a raw counts data-set of 20,502 genes and 137 samples. I want to find out Principal Components which best explain variation between samples in different stages of tumor.

I am new to Machine learning and would like some help in selecting a criteria to reduce the number of genes before doing a PCA. 

I have tried doing a DESeq2 analysis on the data-set but I am confused as to what to do next.
You can filter out genes that do not show variation across samples, they would not differentiate samples anyway. For the specifics on how to do so, please see the Subpopulation Analysis section of a nice single cell RNA-seq workflow from the Kharchenko Lab. I believe there won't be fundamental differences when applying this approach to bulk RNA-seq.