Prova una suddivisione 60/40
Come hai visto nel video, in questo capitolo lavorerai con l’insieme di dati Sonar, usando un 60% per il training e un 40% per il test. Facciamo ancora una volta pratica con la suddivisione train/test, così da prenderci la mano. Ricorda che puoi usare la funzione sample() per ottenere una permutazione casuale degli indici di riga di un insieme di dati, da usare quando crei le suddivisioni train/test, ad esempio:
n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)
Poi puoi usare quegli indici di riga per riordinare casualmente l’insieme di dati, ad esempio:
my_data <- my_data[permuted_rows, ]
Una volta che il tuo insieme di dati è ordinato in modo casuale, puoi separare il primo 60% come training set e l’ultimo 40% come test set.
Questo esercizio fa parte del corso
Machine Learning con caret in R
Istruzioni dell'esercizio
- Ottieni il numero di osservazioni (righe) in
Sonar, assegnandolo an_obs. - Mescola gli indici di riga di
Sonare salva il risultato inpermuted_rows. - Usa
permuted_rowsper riordinare casualmente le righe diSonar, salvandolo comeSonar_shuffled. - Identifica la riga corretta su cui effettuare la divisione per una suddivisione 60/40. Salva questo numero di riga come
split. - Salva il primo 60% di
Sonar_shuffledcome training set. - Salva l’ultimo 40% di
Sonar_shuffledcome test set.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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