Générer une répartition aléatoire train/test
Dans les prochains exercices, vous allez utiliser les données mpg du package ggplot2. Ces données décrivent les caractéristiques de plusieurs marques et modèles de voitures sur différentes années. L’objectif est de prédire la consommation en ville à partir de la consommation sur 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 de procéder 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 souhaitez un sous-ensemble aléatoire d’environ \(100 * X\) % de \(N\) (où \(X\) est compris 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.
Cet exercice fait partie du cours
<cours>Apprentissage supervisé en R : Régression</cours>Instructions de l’exercice
- Utilisez la fonction
nrow(docs) pour obtenir le nombre de lignes du data framempg. Affectez cette valeur à la variableNet affichez-la. - Calculez le nombre de lignes correspondant à environ 75 % de N. Affectez-le à la variable
targetet affichez-la. - Utilisez
runif()pour générer un vecteur deNnombres aléatoires uniformes, nommégp. - Utilisez
gppour scindermpgenmpg_trainetmpg_test(avecmpg_traincontenant environ 75 % des données). - Utilisez
nrow()pour vérifier la taille dempg_trainetmpg_test. Sont-elles à peu près de 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
___
___