CommencerCommencer gratuitement

Ordonner aléatoirement le data frame

Une façon d’effectuer une séparation apprentissage/test d’un jeu de données est de l’ordonner aléatoirement, puis de le scinder en deux ensembles. Cela garantit que l’ensemble d’apprentissage et l’ensemble de test sont tous deux des échantillons aléatoires et que les biais éventuels liés à l’ordre du jeu de données (par exemple, s’il était initialement trié par prix ou par taille) ne sont pas conservés dans les échantillons utilisés pour entraîner et évaluer vos modèles. Vous pouvez voir cela comme le fait de mélanger un jeu de cartes neuf avant de distribuer les mains.

Commencez par fixer une graine aléatoire afin que votre travail soit reproductible et que vous obteniez le même découpage aléatoire à chaque exécution de 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, ]

Cet exercice fait partie du cours

Machine Learning avec caret en R

Afficher le cours

Instructions

  • Fixez la graine aléatoire à 42.
  • Créez un vecteur d’indices de lignes nommé rows.
  • Réordonnez aléatoirement le data frame diamonds et affectez le résultat à shuffled_diamonds.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Set seed


# Shuffle row indices: rows


# Randomly order data
Modifier et exécuter le code