# AUC and ROC Curve using Python

In Machine Learning, the AUC and ROC curve is used to measure the performance of a classification model by plotting the rate of true positives and the rate of false positives. In this article, I will walk you through a tutorial on how to plot the AUC and ROC curve using Python.

## AUC and ROC Curve

ROC stands for Receiver Operating Characteristic curve. This is a graph that shows the performance of a machine learning model on a classification problem by plotting the true positive rate and the false positive rate. AUC stands for Area Under the Curve. It is used to measure the entire area under the ROC curve.

The ROC curve plots the true positive rate and the false positive rate at different classification thresholds, whereas the AUC shows an aggregate measure of the performance of a machine learning model across all the possible classification thresholds. You can learn more about the AUC and ROC curve in machine learning from here. In the section below, I will take you through a tutorial on how to plot the AUC and ROC curve using Python.

## AUC and ROC Curve using Python

I hope you now have understood what is AUC and ROC curve in Machine Learning. Now let’s see how to visualize the AUC and ROC curve using Python. I will first train a machine learning model and then I will plot the AUC and ROC curve using Python. Let’s start by importing the necessary Python libraries and the dataset:

Now I will train a classification model by using the LightGBM Classifier. So let’s prepare the data and train the model:

Now let’s calculate the ROC and AUC and then plot them by using the matplotlib library in Python:

The curve that you can see in the above figure is known as the ROC curve and the area under the curve in the above figure is AUC. Whenever the AUC equals 1 then it is the ideal situation for a machine learning model. Below is how the AUC and ROC curve looks when the AUC is equal to 1.

### Summary

So this is how we can plot the AUC and ROC curve by using the Python programming language. The ROC curve represents the true positive rate and the false positive rate at different classification thresholds and the AUC represents the aggregate measure of the machine learning model across all possible classification thresholds. I hope you liked this article on how to plot AUC and ROC curve. Feel free to ask your valuable questions in the comments section below. ##### Aman Kharwal

Coder with the ♥️ of a Writer || Data Scientist | Solopreneur | Founder

Articles: 1236

### One comment

1. #### Ritesh

Really informative blog Aman. I am a data science aspirant & I found this website a while ago. Since then, I have been regularly reading article from this blog. Short & to the point!

Have 1 request. Could you please upload the data set for this post? I couldnt find them.

Thank you!