CommencerCommencez gratuitement

Ajuster un modèle pour prédire le nombre de locations de vélos

Dans cet exercice, vous allez construire un modèle pour prédire le nombre de vélos loués en une heure en fonction de la météo, du type de jour (jour férié, jour travaillé ou week-end) et de l’heure de la journée. Vous entraînerez le modèle sur les données du mois de juillet.

Le data frame contient les colonnes :

  • cnt : le nombre de vélos loués durant cette heure (la variable cible)
  • hr : l’heure de la journée (0-23, de type factor)
  • holiday : TRUE/FALSE
  • workingday : TRUE si ce n’est ni un jour férié ni un week-end, sinon FALSE
  • weathersit : catégorielle, "Clear to partly cloudy"/"Light Precipitation"/"Misty"
  • temp : température normalisée en Celsius
  • atemp : température ressentie normalisée en Celsius
  • hum : humidité normalisée
  • windspeed : vitesse du vent normalisée
  • instant : l’index temporel — nombre d’heures depuis le début du jeu de données (pas une variable)
  • mnth et yr : indices du mois et de l’année (pas des variables)

Rappelez-vous que vous devez spécifier family = poisson ou family = quasipoisson lorsque vous utilisez glm() (docs) pour ajuster un modèle de comptage.

Comme il y a beaucoup de variables d’entrée, par commodité nous allons spécifier la cible et les entrées dans des variables, et utiliser paste() (docs) pour assembler une chaîne représentant la formule du modèle.

Le data frame bikesJuly est disponible. Les noms de la variable cible et des variables d’entrée ont également été chargés dans les variables outcome et vars, respectivement.

Cet exercice fait partie du cours

<cours>Apprentissage supervisé en R : Régression</cours>
Voir le cours

Instructions de l’exercice

  • Complétez les blancs pour créer la formule fmla exprimant cnt en fonction des entrées. Affichez-la.
  • Calculez la moyenne (mean()) et la variance (var()) de bikesJuly$cnt.
    • Devez-vous utiliser une régression poisson ou quasipoisson ?
  • Utilisez glm() pour ajuster un modèle sur les données bikesJuly : bike_model.
  • Utilisez glance() pour examiner les statistiques d’ajustement du modèle. Assignez la sortie de glance() à la variable perf.
  • Calculez le pseudo R² du modèle.

Exercice interactif pratique

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

# bikesJuly is available
str(bikesJuly)

# The outcome column
outcome 

# The inputs to use
vars 

# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))

# Calculate the mean and variance of the outcome
(mean_bikes <- ___)
(var_bikes <- ___)

# Fit the model
bike_model <- ___

# Call glance
(perf <- ___)

# Calculate pseudo-R-squared
(pseudoR2 <- ___)
Modifier et exécuter le code