CommencerCommencez gratuitement

Appliquer vtreat aux données de location de vélos

Dans cet exercice, vous allez créer des data frames en one-hot-encoding à partir des données vélos de juillet/août, afin de les utiliser ensuite avec xgboost.

Les data frames bikesJuly et bikesAugust ont été préchargés.

Pour vous faciliter la tâche, nous avons défini la variable vars avec la liste des colonnes de variables pour le modèle.

Cet exercice fait partie du cours

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

Instructions de l’exercice

  • Chargez le package vtreat.
  • Utilisez designTreatmentsZ() pour créer un plan de traitement treatplan pour les variables de vars à partir de bikesJuly (les données d’entraînement).
    • Définissez l’option verbose=FALSE pour éviter que la fonction n’affiche trop de messages.
  • Complétez les blancs pour créer un vecteur newvars qui contient uniquement les noms des variables transformées clean et lev. Affichez-le.
  • Utilisez prepare() pour créer un data frame d’entraînement en one-hot-encoding bikesJuly.treat.
    • Utilisez l’argument varRestrictions pour restreindre les variables utilisées à newvars.
  • Utilisez prepare() pour créer de la même manière un data frame de test en one-hot-encoding bikesAugust.treat à partir de bikesAugust.
  • Appelez str() sur les deux data frames préparés pour en voir la structure.

Exercice interactif pratique

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

# The outcome column
(outcome <- "cnt")

# The input columns
(vars <- c("hr", "holiday", "workingday", "weathersit", "temp", "atemp", "hum", "windspeed"))

# Load the package vtreat
___

# Create the treatment plan from bikesJuly (the training data)
treatplan <- ___(___, ___, verbose = FALSE)

# Get the "clean" and "lev" variables from the scoreFrame
(newvars <- treatplan %>%
  use_series(scoreFrame) %>%        
  filter(code %in% ___) %>%  # get the rows you care about
  use_series(___))           # get the varName column

# Prepare the training data
bikesJuly.treat <- ___(___, ___,  varRestriction = ___)

# Prepare the test data
bikesAugust.treat <- ___(___, ___,  varRestriction = ___)

# Call str() on the treated data
___
___
Modifier et exécuter le code