CommencezCommencez gratuitement

Ajuster un modèle de régression logistique

Une fois vos ensembles d'entraînement et de test générés aléatoirement, vous pouvez ajuster un modèle de régression logistique à votre ensemble d'entraînement avec la fonction glm(). glm() est une version plus avancée de lm() qui permet d'ajuster divers types de modèles de régression, au-delà de la simple régression par moindres carrés ordinaires.

Assurez-vous de passer l'argument family = "binomial" à glm() pour préciser que vous voulez une régression logistique (plutôt que linéaire). Par exemple :

glm(Target ~ ., family = "binomial", dataset)

Ne vous inquiétez pas des avertissements comme glm.fit: algorithm did not converge ou glm.fit: fitted probabilities numerically 0 or 1 occurred. Ils sont fréquents avec de petits ensembles de données et ne posent généralement pas de problème. Ils signifient souvent que votre ensemble de données est parfaitement séparable, ce qui peut compliquer les calculs derrière le modèle, mais la fonction glm() de R est presque toujours assez robuste pour gérer ce cas sans difficulté.

Une fois votre modèle glm() ajusté à votre ensemble de données, vous pouvez prédire l'issue (p. ex. rock ou mine) sur l'ensemble test avec la fonction predict() en utilisant l'argument type = "response" :

predict(my_model, test, type = "response")

Cette activité fait partie du cours

Machine Learning avec caret en R

Voir le cours

Instructions de l’exercice

  • Ajustez une régression logistique nommée model pour prédire Class en utilisant toutes les autres variables comme prédicteurs. Utilisez l'ensemble d'entraînement de Sonar.
  • Faites des prédictions sur l'ensemble test avec ce modèle. Nommez le résultat p comme vous l'avez fait auparavant.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Fit glm model: model


# Predict on test: p
Modifier et exécuter le code