I have a large dataset based on several thousand surveys consisting of hundreds of questions each.

I would like to form a classification tree semi-automatically as follows. Each node of the tree can divide cases based on a single question only (which may have multiple possible responses). I would like to build the tree manually, but I would like the software to suggest at each stage which questions might best divide the data[1], and allow me to select the one to use. (For example I may decide that dividing cases according to sex of respondent isn't interesting, at least at the top level, so will pick another question for the root node of the tree).

Two questions * Is there any (preferably free) software out there that does this? * Is there any software that can do this without requiring a target variable? (Which most decision tree algorithms seem to require)

[1] I am aware 'best' is ambiguous here. Feel free to suggest different ways I might be interested in deciding on 'best', though I am likely to be guided by the ready availability of software that implements whichever method.

UPDATE I modified title and question based on initial responses.

  • 2
    $\begingroup$ Each node of the tree can divide cases based on a single question only Can classification tree, not clustering, be closer to what you want? $\endgroup$
    – ttnphns
    Apr 28 '14 at 14:06
  • $\begingroup$ As far as I can tell classification trees require a target variable (please correct me if I'm wrong). I would like to avoid any one target variable and interactively choose classifiers depending on user interest. $\endgroup$ Apr 29 '14 at 12:14

This does not look like you are trying to do clustering.

It sounds more like an "assisted decision tree construction" what you are looking for.

Decision trees are a classic method from machine learning, but the focus is on supervised automated construction of such trees, not "interactive".

Either way, I don't see clustering happening here.

  • $\begingroup$ Thank you. I just modified the question to reflect this advice. $\endgroup$ Apr 29 '14 at 14:48

With regards to the question of growing a decision tree without a target (unsupervised learning) there is some work on density estimating trees and manifold forests that allows this. See:


And sections 5 and 6 here:


For your other points, I am not aware of any tool that allows you to manually intervene in the process as you suggest but you could put one together with a basic amount of coding using the part of an existing decision tree package that calculates the impurity decrease for each potential splitter. Another option would be to look at the importance scores from a forest and select the top few features to reuse growing a single simpler tree.

It sounds like you are asking about "multilabel" features (ie each case can have multiple labels). I've seen techniques for using such features as targets but not for learning from them.


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.