Statistical Methods for Learning Patients Heterogeneity and Treatment Effects to Achieve Precision Medicine