How does an M5P (M5 model trees) algorithm in data mining work? Is Scikit-Learn Decision tree algorithm, as a supervised learning model for a mixed data-set of numeric and categorical features, good choice?