2
1

Hi all,

Why is ROC a better evaluation method than simple misclassification error? Is it because ROC evaluates models at all cutoff points?

Thanks in advance,

Anton

asked Jul 07 '10 at 06:31

Anton%20Ballus's gravatar image

Anton Ballus
25191415


3 Answers:

Another important feature of ROC is that it's insensitive to unbalanced datasets (e.g., with way more negative than positive samples). It also evaluates the classifier at a lot of possible tunings of the classifier, helping hide some effects you can get on the misclassification error by just calibrating the probabilities to one given dataset.

Also, according to the comment by Mikael Huss, it can be better in highly skewed data sets to use a precision-recall curve rather than a ROC curve. I've realized similar things myself, when running small experiments, but it's nice to know it's empirically and theoretically grounded.

This answer is marked "community wiki".

answered Jul 07 '10 at 07:05

Alexandre%20Passos's gravatar image

Alexandre Passos ♦
1896744214334

edited Jul 07 '10 at 08:16

1

Actually, it has been argued that the ROC curves can be somewhat misleading when applied to highly skewed datasets (e g Davis and Goadrich 2006, http://portal.acm.org/citation.cfm?id=11438749), so that precision-recall curves can be more informative for those cases. I am presently working on a problem like this where the ROC makes the classifier(s) look very good but P-R paints a different picture.

(Jul 07 '10 at 08:03) Mikael Huss

Thanks for the reference, I updated the answer to reflect this.

(Jul 07 '10 at 08:16) Alexandre Passos ♦

I think there are two reasons why the ROC curve (or similar other measures) can give more insight than the simple misclassification error:

  • As stated in the question, the ROC evalutes for all possible thresholds. From the ROC curve you get an insight into how well the classifier is able to separate the two classes. The closer you are to the "upper left corner", the better did the classifier manage to separate the two classes. You might see differences here, even if the classification error is the same. The area under curve (AUC) basically measures this effect.

  • In some problems, false positives and false negatives have different meaning. For example, when you have a method to detect attacks in a computer network, you don't want to have too many false positives, because you don't want to constantly check your system for attacks when there are none. The ROC curve can give you a better picture of the amount of detected attacks (= true positives) given a certain threshold on the false positive rate.

answered Jul 07 '10 at 06:51

Mikio%20L%20Braun's gravatar image

Mikio L Braun
27966

Misclassification error (or accuracy) is a single number that summarizes the performance of your classifier for a given cutoff point/sensitivity. It can give you only so much information. You can't tell what are the trade offs of varying the cutoff point by looking at it. If you want to see the trade offs, you need something like the ROC curve.

As you say, ROC curve characterizes the performance of the classifier for different cutoff points so it contains more information about the behavior of your classifier under different circumstances regarding the sensitivity. I'd say more information is better. Two classifiers with very different responses to varying sensitivity may have the same misclassification error for a given cutoff but their ROC curves will different and that's something you can (usually) measure.

You can also try to summarize a ROC curve to a single number. Area under the ROC curve (AUC) is one way of doing it. If you don't know at which sensitivity your classifier will/should operate than AUC could be a more sensible way to summarize the performance.

answered Jul 07 '10 at 06:55

Ama%C3%A7%20Herda%C4%9Fdelen's gravatar image

Amaç Herdağdelen
1763813

edited Jul 07 '10 at 07:18

Your answer
toggle preview

powered by OSQA

User submitted content is under Creative Commons: Attribution - Share Alike; Other things copyright (C) 2010, MetaOptimize LLC.