Which algorithm does Decision Tree classifier in sklearn Library implement? Is it GUIDE?
There are a total of 6 techniques available according to my knowledge, according to this paper


If we consult to its stable version’s documentation, they seem to implement a version of CART, with categorial variables being unsupported.

  • $\begingroup$ Thank you. What I understand is CART takes a lot of time for categorical variables. So in the sklearn implementation, the categorical variables are converted to dummy numerical variables with possible values of 0 or 1. Please correct me if I am wrong $\endgroup$ – Biswadip Mandal Apr 8 at 3:51
  • 1
    $\begingroup$ sklearn decision tree doesn't accept categoricals, you need to encode them first. $\endgroup$ – gunes Apr 8 at 16:37
  • $\begingroup$ Thanks. Is there any implementation of decision tree where they take categorical variables as features and creates nodes on them. Also, does any of the existing implementations consider interaction between the features while creating the nodes i.e. conditioning on linear combination of 2 features for creating a single node $\endgroup$ – Biswadip Mandal Apr 9 at 11:48
  • $\begingroup$ You can use scikit-learn pipelines for first encoding your categoricals and then feeding into your tree. I don't think there exist tree implementations considering two variables' linear combination at the same time. There may be some implementations, which I'm not aware of, that considers thresholding more than one variable at the same time to reach a more optimal state (since this is actually a greedy search), but I haven't seen any, because it's not so easy to do it efficiently. $\endgroup$ – gunes Apr 9 at 12:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.