Appliquer vtreat aux données de location de vélos
Dans cet exercice, vous allez créer des trames de données avec encodage one-hot à partir des données de vélos de juillet/août, pour les utiliser plus tard avec xgboost.
Les trames de données bikesJuly et bikesAugust ont été préchargées.
Pour vous faciliter la tâche, nous avons défini la variable vars avec la liste des colonnes de variables pour le modèle.
Cette activité fait partie du cours
Apprentissage supervisé en R : régression
Instructions de l’exercice
- Chargez le paquet
vtreat. - Utilisez
designTreatmentsZ()pour créer un plan de traitementtreatplanpour les variables dansvarsà partir debikesJuly(les données d'entraînement).- Réglez l'option
verbose=FALSEpour empêcher la fonction d'afficher trop de messages.
- Réglez l'option
- Remplissez les blancs pour créer un vecteur
newvarsqui contient uniquement les noms des variables transforméescleanetlev. Affichez-le. - Utilisez
prepare()pour créer une trame d'entraînement avec encodage one-hotbikesJuly.treat.- Employez l'argument
varRestrictionspour limiter les variables utilisées ànewvars.
- Employez l'argument
- Utilisez
prepare()pour créer de la même façon une trame de test avec encodage one-hotbikesAugust.treatà partir debikesAugust. - Appelez
str()sur les deux trames préparées afin d'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
___
___