Print ROC AUC Receiver Operating Characteristic Area Under Curve

The receiver operating characteristic area under curve is a way to measure the performance of a classification model, may be created using algorithms like Logistic Regression.

ROC-AUC is basically a graph where we plot true positive rate on y-axis and false positive rate on x-axis.

If a model is good the AUC will be close to 1.

Area Under Curve measures the performance of model better than accuracy because ROC-AUC does not depend on size of test data. 

Note that TPR and FPR are defined as below in the context of getting Confusion Matrix plotted.

  • True Positive Rate or TPR = It is number of correct positive predictions divided by the total number of positives = TP/(TP+FN)
  • False Positive Rate or FPR = It is number of incorrect positive predictions divided by total number of negatives = FP/(TN+FP)

The ROC-AUC plot is used to visualize and represent the performance of the classifier model.

We can print the receiver operating characteristic area under curve using scikit-learn by first importing below libraries.

import matplotlib.pyplot as pyplt
from sklearn.metrics import roc_auc_score
from sklearn.metrics import roc_curve
from sklearn.metrics import auc

Then we need to use below code to print it.

FPR, TPR, thresholds = roc_curve(y_test, y_pred)
ROC_AUC = auc(FPR, TPR)
pyplt.figure(figsize=(6,6))
pyplt.plot(FPR, TPR, color=’black’, label=’AUC = %0.2f’ % ROC_AUC)
pyplt.plot([0, 1], [0, 1], color=’red’, linestyle=’-‘)
pyplt.xlabel(‘False Positive Rate’)
pyplt.ylabel(‘True Positive Rate’)
pyplt.title(‘ROC curve’)
pyplt.legend(loc=”upper left”)
pyplt.xlim([0.0, 1.0])
pyplt.ylim([0.0, 1.0])
pyplt.show()

This code plot below ROC AUC

ROC AUC Receiver Operating Characteristic Area Under Curve
ROC AUC Receiver Operating Characteristic Area Under Curve

You can also print the Area Under Curve using below code

roc_auc_score(y_test, y_pred) 

0.7610977872301914

Note: You can also visualize or print confusion matrix and machine learning classification report

I hope you enjoyed this article and can start using some of the techniques described here in your own projects soon.

Leave a Reply

%d