• Menu
    • Nos Formations
    • Nos Prestations
    • Les Astuces
Skip to content
Astuces et scripts R
Astuces et scripts R
Primary Navigation Menu
Menu
  • Abcd’R
  • Tous les scripts
    • Voir les articles
    • Proposer un Article
  • Formation au logiciel R
  • Contact

Les dates de formations à R, éligibles au CPF sont en lignes !

Voir nos formations

Ajuster un modèle de régression logistique avec glm

Par vincent
Le octobre 1, 2024
Dans modélisation
Tagged glm, logistique
Avec 0 Commentaire

Ajuster un modèle de régression logistique avec glm en R

La régression logistique est une méthode statistique utilisée pour modéliser la relation entre une variable dépendante binaire et une ou plusieurs variables indépendantes. Dans cet article, nous allons voir comment ajuster un modèle de régression logistique en utilisant la fonction glm() de R.

Qu’est-ce que la régression logistique ?

La régression logistique est utilisée lorsque la variable cible est binaire, c’est-à-dire qu’elle prend deux valeurs, souvent codées comme 0 et 1. Par exemple, nous pourrions vouloir prédire si un client va acheter un produit (1) ou non (0) en fonction de certaines caractéristiques.

Exemple concret

Imaginons que nous avons un jeu de données sur des clients d’une boutique en ligne, et nous voulons prédire si un client va acheter un produit en fonction de son âge et de son revenu. Voici comment nous pourrions procéder.

Étape 1 : Créer un jeu de données

Commençons par créer un petit jeu de données :

# Création d'un jeu de données
set.seed(123)  # Pour la reproductibilité
data <- data.frame(
  age = c(22, 25, 47, 52, 46, 23, 34, 45, 31, 29),
  income = c(30000, 40000, 60000, 80000, 70000, 32000, 50000, 90000, 45000, 38000),
  purchase = c(1, 1, 0, 0, 1, 0, 1, 1, 0, 0)  # 0 = non, 1 = oui
)

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

Nous allons maintenant utiliser la fonction glm() pour ajuster notre modèle. La syntaxe de glm() est la suivante :

mod <- glm(formule, famille, données)

Dans notre cas, la formule sera purchase ~ age + income, la famille sera binomial pour indiquer que nous faisons une régression logistique, et nous utiliserons notre jeu de données data.

# Ajustement du modèle de régression logistique
mod <- glm(purchase ~ age + income, family = binomial, data = data)

Étape 3 : Résumé du modèle

Pour voir les résultats de notre ajustement, nous pouvons utiliser la fonction summary() :

# Résumé du modèle
summary(mod)

Cette commande affichera les coefficients du modèle, les erreurs standards, les valeurs z et les p-values pour chaque variable. Les coefficients nous indiquent l’effet de chaque variable indépendante sur la probabilité d’achat.

Étape 4 : Prédictions

Une fois le modèle ajusté, nous pouvons l’utiliser pour faire des prédictions. Par exemple, pour prédire la probabilité qu’un client de 30 ans avec un revenu de 50000 achète un produit, nous pouvons utiliser la fonction predict() :

# Prédiction pour un nouveau client
nouveau_client <- data.frame(age = 30, income = 50000)
probabilité_achat <- predict(mod, nouveau_client, type = "response")
print(probabilité_achat)

Cette commande nous donnera la probabilité que ce client achète le produit.

Conclusion

La régression logistique est un outil puissant pour modéliser des résultats binaires. Avec la fonction glm() de R, il est facile d’ajuster un modèle et d’interpréter les résultats.

2024-10-01
Article précédent: Ajuster des modèles non linéaires avec nls
Article suivant: Ajuster une régression linéaire avec lm

Formation et consultance

Trouvez votre formation R sur-mesure chez ThinkR

-- Contactez-nous --

Catégories

Commentaires récents

  • Sébastien dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Achraf Mazouz dans Comment effectuer des calculs de somme et de moyenne sur les colonnes ou les lignes d’une matrice ? colSums, rowSums, colMeans, rowMeans
  • Lou Sayd dans Coment alculer simplement la SEM dans R ? (Erreur Standard)
  • Nicolas dans Comment remplacer une chaîne de caractères ? string_replace_all(df, "pattern","replacement")
  • Vincent dans Comment comparer deux moyennes avec R grâce au test de Student ? t.test

Archives

Plan

  • Abcd’R
  • Tous les scripts
    • Proposer un Article
  • Ressources documentaires
    • Le logiciel R
    • Liste des interfaces graphiques
  • Formation au logiciel R
  • Contact
  • Politique de confidentialité

Flux ThinkR – Certification & Formation langage R

  • Déboguer une fonction avec debugonce() ou browser()
  • Dessinez pour gagner : L’impact des maquettes sur vos apps Shiny
  • Gérer et manipuler des dates en 2024 : une année pas comme les autres !
  • Retour vers le turfu : R, le web, et webR
  • Créer un package R et le versionner avec VSCode ? Mission possible !

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

ABCD'R (par ThinkR ) © 2025 - Confidentialité