Essayez une répartition 60/40
Comme vous l’avez vu dans la vidéo, vous allez travailler avec le jeu de données Sonar dans ce chapitre, en utilisant 60 % pour l’entraînement et 40 % pour le test. Nous allons refaire une fois le découpage entraînement/test pour être sûrs que vous avez bien compris. Rappelez-vous que vous pouvez utiliser la fonction sample() pour obtenir une permutation aléatoire des indices de lignes d’un jeu de données, à utiliser lors des découpages entraînement/test, par exemple :
n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)
Puis utiliser ces indices de lignes pour réordonner aléatoirement le jeu de données, par exemple :
my_data <- my_data[permuted_rows, ]
Une fois votre jeu de données réordonné aléatoirement, vous pouvez découper les 60 % premières lignes pour l’entraînement et les 40 % dernières pour le test.
Cet exercice fait partie du cours
Machine Learning avec caret en R
Instructions
- Récupérez le nombre d’observations (lignes) dans
Sonaret assignez-le àn_obs. - Mélangez les indices de lignes de
Sonaret enregistrez le résultat danspermuted_rows. - Utilisez
permuted_rowspour réordonner aléatoirement les lignes deSonar, et sauvegardez le résultat dansSonar_shuffled. - Identifiez la ligne sur laquelle effectuer la coupure pour une répartition 60/40. Stockez ce numéro de ligne dans
split. - Enregistrez les 60 % premières lignes de
Sonar_shuffledcomme jeu d’entraînement. - Enregistrez les 40 % dernières lignes de
Sonar_shuffledcomme jeu de test.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Get the number of observations
# Shuffle row indices: permuted_rows
# Randomly order data: Sonar
# Identify row to split on: split
split <- round(n_obs * ___)
# Create train
# Create test