Maybe it's a trivial question, but I'm a bit confused right now... I'll explain: I've some elements in my data, each with a value between 0 and 1 and an associated label (1, 0). I need to test some thresholds and then compute the ROC-AUC curve. For example with a threshold = 0.4, all the values greater than 0.4 will be predicted as true (1) and all the values under 0.4 will be predicted as false (0), then I'll compare the result with the actual labels to calculate the True Positive Rate and the False Positive Rate and finally build the ROC-AUC curve.

So, my question is, considering that, based on the threshold chosen, I already know under which prediction an element will fall, I don't need a machine learning classifier to do the default training and testing stages, right?

  • $\begingroup$ The way you explained it sounded like you have a 1-dimensional feature space and you want to do binary classification based on that. If this as simple, you can call it if you like you do not need machine learning. In principle, "machine learning" becomes obvious that you have more than 1 feature that you have to make decisions, and human can not figure out the relationship exists between all features to the target (here binary classification), and use the trained model to use for future prediction on unseen data with the same feature set. Hope this helps. $\endgroup$ Apr 5 '18 at 12:04

Your intuition is correct: you don't necessarily need a machine learning algorithm to calculate a ROC curve and, from what you say, it seems you already have the necessary ingredients in place.

In fact, the ROC curve was historically developed under circumstances that had nothing to do with machine learning; from Wikipedia:

The ROC curve was first developed by electrical engineers and radar engineers during World War II for detecting enemy objects in battlefields and was soon introduced to psychology to account for perceptual detection of stimuli. ROC analysis since then has been used in medicine, radiology, biometrics, forecasting of natural hazards, meteorology, model performance assessment, and other areas for many decades and is increasingly used in machine learning and data mining research.

  • 1
    $\begingroup$ Ok, now my doubt is: if I want to test, we say, four thresholds (0.5 - 0.4 - 0.3 - 0.2), I need to plot four different ROC curves, one for each threshold value, or is there a way to obtain the best ROC among these thresholds? $\endgroup$
    – ocram
    Apr 6 '18 at 13:33
  • 2
    $\begingroup$ @ocram In fact, the ROC curve is the performance of a binary classification system along all possible thresholds; you don't set any particular threshold for plotting it, the only ingredients you need is a set of binary ground truth and a respective set of predictions in [0, 1], as in your case. ROC curve is supposed to help you exactly in choosing a threshold afterwards $\endgroup$
    – desertnaut
    Apr 6 '18 at 16:41

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.