CommencerCommencer gratuitement

Faire une prédiction binaire

Dans l'exercice précédent, vous avez utilisé la fonction glm() pour construire un modèle de régression logistique du comportement des donneurs. Comme pour de nombreuses méthodes d'apprentissage automatique de R, vous pouvez appliquer la fonction predict() à l'objet du modèle pour prévoir son comportement futur. Par défaut, predict() produit des prédictions en termes de logarithme des chances, à moins que type = "response" ne soit spécifié. Cette opération convertit les logarithmes des chances en probabilités.

Étant donné qu'un modèle de régression logistique estime la probabilité du résultat, il vous appartient de déterminer le seuil à partir duquel la probabilité implique une action. Il faut trouver un équilibre entre les extrêmes que sont une trop grande prudence et une trop grande agressivité. Par exemple, si vous ne sollicitez que les personnes dont la probabilité de don est égale ou supérieure à 99 %, vous risquez de passer à côté de nombreuses personnes dont la probabilité de don est plus faible, mais qui choisissent tout de même de faire un don. Cet équilibre est particulièrement important à prendre en compte pour les résultats fortement déséquilibrés, comme dans cet ensemble de données où les dons sont relativement rares.

Le jeu de données donors et le modèle donation_model sont à votre disposition.

Cet exercice fait partie du cours

Apprentissage supervisé en R : Classification

Afficher le cours

Instructions

  • Utilisez la fonction predict() pour estimer la probabilité de don de chaque personne. Utilisez l'argument type pour obtenir des probabilités. Attribuez les prédictions à une nouvelle colonne appelée donation_prob.
  • Trouvez la probabilité réelle qu'une personne moyenne fasse un don en passant la fonction mean() à la colonne appropriée du cadre de données donors.
  • Utilisez ifelse() pour prédire un don si la probabilité de don prédite est supérieure à la moyenne. Affectez les prédictions à une nouvelle colonne appelée donation_pred.
  • Utilisez la fonction mean() pour calculer la précision du modèle.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Estimate the donation probability
donors$donation_prob <- predict(___, type = "___")

# Find the donation probability of the average prospect
mean(___)

# Predict a donation if probability of donation is greater than average (0.0504)
donors$donation_pred <- ifelse(___ > 0.0504, ___, ___)

# Calculate the model's accuracy
mean(___ == ___)
Modifier et exécuter le code