1
$\begingroup$

I would like to build a variety of classification and regression decision trees. My use case focuses on extraction and communication of decision rules. Previously weka was used in my organisation for decision tree learning. What can weka do that Python or Sklearn can't?

I currently use pandas, numpy, scipy, and sk-learn and other libraries for the majority of my workflow.

$\endgroup$
2
  • $\begingroup$ I'm not aware of any major difference but I don't know everything in detail. You should probably ask whoever is pressuring you to use Weka why they think it's better for your task. $\endgroup$
    – Erwan
    Jul 3 '20 at 14:41
  • 1
    $\begingroup$ Where will your code/model be integrated? If it is supposed to be integrated into a Java codebase, using Weka/Java will have practical advantages over Python $\endgroup$
    – Jon Nordby
    Jul 4 '20 at 8:03
3
$\begingroup$

Weka's decision trees are from the Quinlan family, whereas sklearn uses CART.

The most notable difference is that Quinlan trees aren't restricted to binary splits: a categorical column will be split into subtrees for each level.

Another is how missing values are dealt with, but there are some differences in individual implementations, so it's not straightforward to compare the two branches.

https://stackoverflow.com/q/9979461/10495893
TDIDT Decision Trees algorithm

Otherwise, I expect the main real difference is in whether it's easier to deal with python or java. If you want to extract decision rules, you may be looking to post-process a decision tree; I know of skope-rules to do this in python, but not whether such a thing is easy in weka.

$\endgroup$

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.