Générer une répartition aléatoire train/test
Dans les prochains exercices, vous utiliserez les données mpg du paquet ggplot2. Ces données décrivent les caractéristiques de plusieurs marques et modèles de voitures de différentes années. L'objectif est de prédire l'efficacité énergétique en ville à partir de l'efficacité énergétique sur l'autoroute.
Dans cet exercice, vous allez scinder mpg en un ensemble d'entraînement mpg_train (75 % des données) et un ensemble de test mpg_test (25 % des données). Une façon d'y arriver est de générer une colonne de nombres aléatoires uniformes entre 0 et 1 avec la fonction runif() (docs).
Si vous avez un jeu de données dframe de taille \(N\) et que vous voulez un sous-ensemble aléatoire d'environ \(100 * X\) % de \(N\) (où \(X\) est entre 0 et 1), alors :
- Générez un vecteur de nombres aléatoires uniformes :
gp = runif(N). dframe[gp < X,]aura à peu près la bonne taille.dframe[gp >= X,]sera le complément.
Cette activité fait partie du cours
Apprentissage supervisé en R : régression
Instructions de l’exercice
- Utilisez la fonction
nrow(docs) pour obtenir le nombre de lignes du cadre de donnéesmpg. Attribuez ce total à la variableNet affichez-le. - Calculez environ combien de lignes représentent 75 % de N. Attribuez ce nombre à la variable
targetet affichez-le. - Utilisez
runif()pour générer un vecteur deNnombres aléatoires uniformes, nommégp. - Servez-vous de
gppour scindermpgenmpg_trainetmpg_test(avecmpg_traincontenant environ 75 % des données). - Utilisez
nrow()pour vérifier la taille dempg_trainet dempg_test. Sont-ils d'à peu près la bonne taille ?
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___