Examining the historical patterns of diabetics' care is very important as it might lead to improvement in patient safety and prevent future readmissions. This not only improves the quality of health care but also reduces medical expenses. Thus the main goal of this study is to predict the probability of a diabetic patient being readmitted and identifying contributing factors. After preparing the data set in a proper manner which is obtained from UCI Machine Learning Repository, different classical approaches for classification and machine learning approaches are used to predict readmission of diabetes patients. In fact, classical models such as generalized logistic models, generalized linear mixed models and generalized additive models are compared to machine learning algorithms: gradient boosting, random forests, deep learning and support vector machines. In order to provide valid assessment on the readmission rate of diabetes patients, these different prediction models are compared and the best model is selected based on misclassification rates and receiver operating characteristic (ROC) curves.