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>Instructions de l’exercice
- Chargez le package
vtreat. - Utilisez
designTreatmentsZ()pour créer un plan de traitementtreatplanpour les variables devarsà partir debikesJuly(les données d’entraînement).- Définissez l’option
verbose=FALSEpour éviter que la fonction n’affiche trop de messages.
- Définissez l’option
- Complétez les blancs pour créer un vecteur
newvarsqui contient uniquement les noms des variables transforméescleanetlev. Affichez-le. - Utilisez
prepare()pour créer un data frame d’entraînement en one-hot-encodingbikesJuly.treat.- Utilisez l’argument
varRestrictionspour restreindre les variables utilisées ànewvars.
- Utilisez l’argument
- Utilisez
prepare()pour créer de la même manière un data frame de test en one-hot-encodingbikesAugust.treatà partir debikesAugust. - 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
___
___