Pat (the practitioner) I need to do multiclass classification and I only have a decision tree.
Theo (the thoeretician) Use an error correcting output code.
Pat Oh, that’s cool. But the created binary problems seem unintuitive. I’m not sure the decision tree can solve them.
Theo Oh? Is your problem a decision list?
Pat No, I don’t think so.
Theo Hmm. Are the classes well separated by axis aligned splits?
Pat Err, maybe. I’m not sure.
Theo Well, if they are, under the IID assumption I can tell you how many samples you need.
Pat IID? The data is definitely not IID.
Theo Oh dear.
Pat Can we get back to the choice of ECOC? I suspect we need to build it dynamically in response to which subsets of the labels are empirically separable from each other.
Theo Ok. What do you know about your problem?
Pat Not much. My friend just gave me the dataset.
Theo Then, no one can help you.
Pat (What a fuzzy thinker. Theo keeps jumping to assumptions that just aren’t true.)
Theo (What a fuzzy thinker. Pat’s problem is unsolvable without making extra assumptions.)
I’ve heard variants of this conversation several times. The fundamental difference in viewpoint is the following:
- Theo lives in a world where he chooses the problem to solve based upon learning model (and assumptions) used.
- Pat lives in a world where the problem is imposed on him.
I’d love for these confusions to go away, but there is no magic wand. The best advice seems to be: listen carefully and avoid assuming to much in what you hear.