SnoRNAs (Small nucleolar RNAs) are small RNA molecules with approximately 60-300 nucleotides in sequence length. They have been proved to play important roles in cancer occurrence and progression. It is of great clinical importance to identify new snoRNAs as fast and accurately as possible. A novel algorithm, ESDA was proposed to recognize snoRNAs from other RNAs in human genomes faster and more accurately. In ESDA algorithm, kernel features were selected from the features extracted from both primary sequences and secondary structures to extract information as best as possible. Then they were used as input variables for the final classification model trained by sparse partial least squares discriminant analysis (SPLSDA) algorithm to distinguish snoRNA sequences from other Human RNAs. Due to the fact that no prior biological knowledge is needed to optimize the classification model, ESDA is a very practical method especially for the completely new sequences. We used 89 H/ACA snoRNAs and 269 C/D snoRNAs of human as positive samples and 3403 non-snoRNAs as negative samples to test the identification performance of it. For the H/ACA snoRNAs identification, the sensitivity and specificity were as high as 99.6% and 98.8%, respectively. For C/D snoRNAs, the sensitivity and specificity were 96.1% and 98.3% respectively. Furthermore, we compared ESDA with other widely used algorithms and classifiers: SnoReport, RF (Random Forest), DWD (Distance Weighted Discrimination) and SVM (support vector machine). The highest improvement of accuracy was 25.1%. The proved superiority performance of our method makes it promising for further development of new target or regulating method for the precision medicine for cancers.