Machine learning methods for single cell data analysis