ROC Curve and precision recall curve - machine-learning

What are the underlying assumptions of the ROC curve?
What part of an ROC curve impacts the PR curve more?

ROC Curves summarize the trade-off between the True Positive Rate and False Positive Rate using different probability thresholds.
Precision-Recall curves summarize the trade-off between the True Positive Rate and the Positive predictive value using different probability thresholds.
ROC curves are appropriate when the target class is balanced, whereas Precision-Recall curves are suitable for imbalanced datasets.
Here is a good article for deeper understanding.

Related

How to choose the best segmentation model using the area under the precision recall curve, IOU and Dice metrics?

I am using several U-Net variants for a brain tumor segmentation task. I get the following values for the performance measures including Dice, IOU, Area under receiver-operating characteristic (AUC) curves, and Area under Precision-Recall curves (AUPRC), otherwise called the average precision (AP) computed for varying IOU thresholds in the range [0.5:0.95] in intervals of 0.05.
From the above table, I could observe that Model-2 gave better values for the IOU and Dice metrics. I could understand that Dice coefficient gives more weightage for the TPs. However, Model - 1 gives superior values for the AUC, and AP#[0.5:0.95] metrics. What parameters need to be given higher importance in model selection under these circumstances?

Measuring ROC and AUC

I have read plenty of articles about ROC and AUC, and I found out we need to measure TPR and FPR for different classification thresholds. Does it mean that ROC and AUC can be measured for only probabilistic classifiers and not the descrete ones (like trees)?
Yes, in order to calculate AUC, you need to have predicted probabilities. AUC is the area under the ROC curve. To make a ROC curve you need to calculate true positive rate and false positive rate for different decision thresholds - and in order to use different decision thresholds, you need to have probabilities as your model's output (because it makes no sense to apply a threshold to a binary label 0 or 1.) For more information about how to calculate AUC, when to use AUC, and the strengths and weakness of AUC as a performance metric, you can read this article.

what is the score in plot_learning_curve of scikit learn?

In scikit learn, I make a regression of Boston House Price and get the following learning curve. But what is meaning of score(y axis) in regression?
Graph visualizes the learning curves of the model for both training and validation as the size of the training set is increased. The shaded region of a learning curve denotes the uncertainty of that curve (measured as the standard deviation). The model is scored on both the training and testing sets using R2, the coefficient of determination.
It depends on what do you want to measure, you can choose anything from following chart(may be any other metric not present here):
Reference:
http://scikit-learn.org/stable/modules/model_evaluation.html

How to create ROC curve from multiple classification models

How to create ROC curve from several classification models in order to compare them with each other. I'm using KNIME analytics platform.
In order to compare the classification model on the basis of ROC curve, the best way is to create the three separate ROC curve for each classification model.
After that compare the area under the ROC curve of each model because accuracy is measured by the area under the ROC curve. The one with a higher value of the area under ROC is the best classification model.
It is quite easy. You just need to compute the probabilities/normalized class distribution values and put them in the same table. In the ROC view nodes you can specify them for the positive class and see the ROC curves:

Learning curve for noisy data

I am doing a supervised classification of small texts, and the data is very noisy. I plotted a learning curve: x-axis is # instances. y-axis is the value of F-measure. The curve is falling: the more instances I use, the lower the F-measure score is. Is it typical for noisy data? Or there is some other reason for this behavior?
Did you calculate F-measure using training set or test set?
If you calculated it using training set then falling learning curve is pretty normal.
If you calculated it using test set then there may be many causes, the most probable is that training and test sets are not iid.

Resources