Réordonner le tableau de données aléatoirement
Une façon d'effectuer une division train/test d'un jeu de données consiste à l'ordonner aléatoirement, puis à le scinder en deux ensembles. Cela garantit que l'ensemble d'entraînement et l'ensemble de test sont tous deux des échantillons aléatoires et que tout biais dans l'ordre du jeu de données (p. ex., s'il avait été initialement trié par prix ou par taille) ne se retrouve pas dans les échantillons utilisés pour entraîner et tester vos modèles. On peut comparer cela à brasser un nouveau paquet de cartes avant de distribuer.
D'abord, définissez une graine aléatoire pour que votre travail soit reproductible et que vous obteniez la même division aléatoire chaque fois que vous exécutez votre script :
set.seed(42)
Ensuite, utilisez la fonction sample() pour mélanger les indices de lignes du jeu de données diamonds. Vous pourrez ensuite utiliser ces indices pour réordonner le jeu de données.
rows <- sample(nrow(diamonds))
Enfin, utilisez ce vecteur aléatoire pour réordonner le jeu de données diamonds :
diamonds <- diamonds[rows, ]
Cette activité fait partie du cours
Machine Learning avec caret en R
Instructions de l’exercice
- Définissez la graine aléatoire à 42.
- Créez un vecteur d'indices de lignes nommé
rows. - Réordonnez aléatoirement le tableau de données
diamondset assignez le résultat àshuffled_diamonds.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Set seed
# Shuffle row indices: rows
# Randomly order data