Ajuster un modèle de régression logistique
Une fois vos ensembles d’entraînement et de test aléatoires créés, vous pouvez ajuster un modèle de régression logistique sur l’ensemble d’entraînement avec la fonction glm(). glm() est une version plus avancée de lm() qui permet d’ajuster des modèles de régression plus variés que la simple régression linéaire des moindres carrés.
Veillez à passer l’argument family = "binomial" à glm() pour préciser que vous souhaitez effectuer une régression logistique (et non linéaire). Par exemple :
glm(Target ~ ., family = "binomial", dataset)
Ne vous inquiétez pas des avertissements tels que glm.fit: algorithm did not converge ou glm.fit: fitted probabilities numerically 0 or 1 occurred. Ils sont fréquents sur de petits jeux de données et ne posent généralement pas de problème. Ils indiquent souvent que votre jeu de données est parfaitement séparé, ce qui peut compliquer les calculs sous-jacents, mais la fonction glm() de R est presque toujours suffisamment robuste pour gérer ce cas sans souci.
Une fois votre modèle glm() ajusté sur votre jeu de données, vous pouvez prédire l’issue (par exemple rock ou mine) sur l’ensemble test avec la fonction predict() et l’argument type = "response" :
predict(my_model, test, type = "response")
Cet exercice fait partie du cours
Machine Learning avec caret en R
Instructions
- Ajustez une régression logistique appelée
modelpour prédireClassen utilisant toutes les autres variables comme prédicteurs. Utilisez l’ensemble d’entraînement deSonar. - Effectuez des prédictions sur l’ensemble
testavec ce modèle. Nommez le résultatpcomme précédemment.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Fit glm model: model
# Predict on test: p