10
$\begingroup$

Except decision trees and logistic regression, what other classification models provide good interpretation? I am not interested in the accuracy or other parameters, only the interpretation of the results is important.

$\endgroup$
  • $\begingroup$ You should be interested in accuracy or parameters at least a little. Otherwise, why bother classifying at all? $\endgroup$ – Kodiologist Sep 14 '16 at 20:40
  • $\begingroup$ Are you interested in this to see the relation between features and classes? $\endgroup$ – Cem Kalyoncu Sep 15 '16 at 8:03
  • $\begingroup$ @CemKalyoncu Yes, that is also part of the interpretation. $\endgroup$ – Miroslav Sabo Sep 15 '16 at 9:14
29
+50
$\begingroup$

1) I would argue that decision trees are not as interpretable as people make them out to be. They look interpretable, since each node is a simple, binary decision. The problem is that as you go down the tree, each node is conditional on every node above it. If your tree is only four or five levels deep, it's still not too difficult to convert one terminal node's path (four or five splits) into something interpretable (e.g. "this node reflects long-term customers who are high-income males with multiple accounts"), but trying to keep track of multiple terminal nodes is difficult.

If all you have to do is convince a client that your model is interpretable ("look, each circle here has a simple yes/no decision in it, easy to understand, no?") then I'd keep decision trees in your list. If you want actionable interpretability, I'd suggest they might not make the cut.

2) Another issue is clarifying what you mean by "interpretability of results". I've run into interpretability in four contexts:

  1. The client being able to understand the methodology. (Not what you're asking about.) A Random Forest is pretty straightforwardly explainable by analogy, and most clients feel comfortable with it once it's explained simply.

  2. Explaining how the methodology fits a model. (I had a client who insisted I explain how a decision tree is fitted because they felt it would help them understand how to use the results more intelligently. After I did a very nice writeup, with lots of nice diagrams, they dropped the subject. It's not helpful to interpreting/understanding at all.) Again, I believe this is not what you're asking about.

  3. Once a model is fitted, interpreting what the model "believes" or "says" about the predictors. Here's where a decision tree looks interpretable, but is much more complex than first impressions. Logistic regression is fairly straightforward here.

  4. When a particular data point is classified, explaining why that decision was made. Why does your logistic regression say it's an 80% chance of fraud? Why does your decision tree say it's low-risk? If the client is satisfied with printing out the decision nodes leading to the terminal node, this is easy for a decision tree. If "why" needs to be summarized into human speak ("this person is rated a low risk because they are a long-term male customer who has high-income and multiple accounts with our firm"), it's a lot harder.

So at one level of interpretability or explainability (#1 with a little #4, above), K-Nearest Neighbor is easy: "this customer was judged to be high risk because 8 out of 10 customers who have been previously evaluated and were most similar to them in terms of X, Y, and Z, were found to be high risk." At actionable, full level #4, it's not so interpretable. (I've thought of actually presenting the other 8 customers to them, but that would require them to drill down into those customers to manually figure out what those customers have in common, and thus what the rated customer has in common with them.)

I've read a couple of papers recently about using sensitivity-analysis-like methods to try to come up with automated explanations of type #4. I don't have any at hand, though. Perhaps someone can throw some links into comments?

$\endgroup$
  • 1
    $\begingroup$ Excellent, thoughtful commentary on the art of presenting analyses to a technically unsophisticated and/or innumerate audience. $\endgroup$ – DJohnson Sep 14 '16 at 20:14
  • 1
    $\begingroup$ +6, a comprehensive & insightful answer to a fairly simple, straightforward question. Remind me in a couple days & I'll put a bounty on this. $\endgroup$ – gung Sep 14 '16 at 23:48
  • $\begingroup$ @Wayne, here is a paper that comes up with automated explanations of type #4: arxiv.org/abs/1602.04938 $\endgroup$ – madness Nov 22 '18 at 10:51
7
$\begingroup$

It depends on the data you are using. If you are not interested in accuracy, I believe visualization of the data and classifications are one of the best ways interpret the data and performance of the algorithm.

Here is an example comparison of various classifiers. Each row is a different data set with data having varying separability. Each column is the visualization of each classifier.

enter image description here

http://scikit-learn.org/stable/auto_examples/classification/plot_classifier_comparison.html

$\endgroup$
4
$\begingroup$

Discriminant analysis is the original classification model, dating back over one hundred years to R.A. Fisher (https://en.wikipedia.org/wiki/Linear_discriminant_analysis). It is all too often ignored in today's world of machine and statistical learning models, having been superceded by approaches that are more consistent with the most recent jargon.

This paper was in the Journal of Machine Learning and has a laundry list of some other methods, Do We Need Hundreds of Classifiers to Solve Real World Classification Problems? http://jmlr.org/papers/volume15/delgado14a/delgado14a.pdf

$\endgroup$
0
$\begingroup$

To find the relationship between features and classes you could use a relationship methods. You could also employ chi squared method to find if a feature is associated with the class. In order to do this, you should use class label equality. For instance, if you are testing feature 1 and class 1, you should perform binning for feature 1 and calculate chi^2 between binned probabilities and a membership variable which has value of 1 when class is 1, 0 otherwise. This way, if being class 1 is dependent on feature 1, some bins will have a higher rate of being class 1 whereas some bins will have lower.

An additional method that I have tried with moderate success was to fit a feature of a class into a normal distribution. Then for every sample in the class, improve the score of the feature by the fitness of the sample to the distribution. For every sample not in the class, penalize the feature for fitness. Obviously you need to normalize for the number of samples that are in and not in the class. This works only on features that are distributed close to normal distribution. I used this method to assign a score per feature for every class.

$\endgroup$
0
$\begingroup$

Nobody's mentioned Nearest Neighbour classification. This is very simple to explain; an observation is classified according to the most common class amongst those observations closest to it. We normally choose an odd number of nearest neighbours to look at so there are no ties to break.

$\endgroup$
  • 2
    $\begingroup$ > Nobody's mentioned Nearest Neighbour classification. Really? You should read answers once again. $\endgroup$ – Alleo Sep 23 '16 at 17:29
  • $\begingroup$ Okay, I guess the marginal label of a plot just about counts. Still, NN is about the easiest-to-explain method out there, especially if your audience is not at all mathematical. $\endgroup$ – JDL Sep 26 '16 at 8:07

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.