Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer l’AUC (aire sous la courbe) dans R



La régression logistique est une méthode statistique que nous utilisons pour ajuster un modèle de régression lorsque la variable de réponse est binaire. Pour évaluer dans quelle mesure un modèle de régression logistique s’adapte à un ensemble de données, nous pouvons examiner les deux métriques suivantes :

  • Sensibilité : probabilité que le modèle prédise un résultat positif pour une observation alors que le résultat est effectivement positif. C’est ce qu’on appelle également le « taux de vrais positifs ».
  • Spécificité : la probabilité que le modèle prédise un résultat négatif pour une observation alors que le résultat est effectivement négatif. C’est ce qu’on appelle également le « vrai taux négatif ».

Une façon de visualiser ces deux mesures consiste à créer une courbe ROC , qui signifie courbe « caractéristique de fonctionnement du récepteur ».

Il s’agit d’un graphique qui affiche la sensibilité le long de l’axe des y et (1 – spécificité) le long de l’axe des x. Une façon de quantifier l’efficacité du modèle de régression logistique dans la classification des données consiste à calculer l’AUC , qui signifie « aire sous la courbe ».

Plus l’AUC est proche de 1, meilleur est le modèle.

L’exemple suivant, étape par étape, montre comment calculer l’AUC pour un modèle de régression logistique dans R.

Étape 1 : Charger les données

Tout d’abord, nous allons charger l’ensemble de données par défaut du package ISLR , qui contient des informations indiquant si diverses personnes ont ou non fait défaut sur un prêt.

#load dataset
data <- ISLR::Default

#view first six rows of dataset
head(data)

  default student   balance    income
1      No      No  729.5265 44361.625
2      No     Yes  817.1804 12106.135
3      No      No 1073.5492 31767.139
4      No      No  529.2506 35704.494
5      No      No  785.6559 38463.496
6      No     Yes  919.5885  7491.559

Étape 2 : Ajuster le modèle de régression logistique

Ensuite, nous ajusterons un modèle de régression logistique pour prédire la probabilité qu’un individu fasse défaut :

#make this example reproducible
set.seed(1)

#Use 70% of dataset as training set and remaining 30% as testing set
sample <- sample(c(TRUE, FALSE), nrow(data), replace=TRUE, prob=c(0.7,0.3))
train <- data[sample, ]
test <- data[!sample, ] 

#fit logistic regression model
model <- glm(default~student+balance+income, family="binomial", data=train)

Étape 3 : Calculer l’AUC du modèle

Ensuite, nous utiliserons la fonction auc() du package pROC pour calculer l’AUC du modèle. Cette fonction utilise la syntaxe suivante :

auc(réponse, prédite)

Voici comment utiliser cette fonction dans notre exemple :

#calculate probability of default for each individual in test dataset
predicted <- predict(model, test, type="response")

#calculate AUC
library(pROC)
auc(test$default, predicted)

Setting levels: control = No, case = Yes
Setting direction: controls < cases
Area under the curve: 0.9437

L’AUC du modèle s’avère être de 0,9437 .

Puisque cette valeur est proche de 1, cela indique que le modèle fait un très bon travail pour prédire si un individu fera ou non défaut sur son prêt.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *