Aan de slagGa gratis aan de slag

Zet de data frame willekeurig in een andere volgorde

Eén manier om een train/test-split van een gegevensset te maken is door de gegevensset eerst willekeurig te ordenen en die daarna in tweeën te delen. Zo zijn zowel de trainingsset als de testset willekeurige steekproeven en neem je geen eventuele vooroordelen in de oorspronkelijke volgorde van de gegevensset (bijv. als die eerst op prijs of grootte gesorteerd was) mee in de steekproeven die je gebruikt om je modellen te trainen en te testen. Je kunt dit zien als het schudden van een nieuw pak speelkaarten voordat je de kaarten uitdeelt.

Zet eerst een random seed zodat je werk reproduceerbaar is en je elke keer dat je je script uitvoert dezelfde willekeurige split krijgt:

set.seed(42)

Gebruik daarna de functie sample() om de rijnummers van de diamonds-gegevensset te schudden. Deze indexen kun je later gebruiken om de gegevensset te herordenen.

rows <- sample(nrow(diamonds))

Tot slot kun je deze willekeurige vector gebruiken om de diamonds-gegevensset te herordenen:

diamonds <- diamonds[rows, ]

Deze oefening maakt deel uit van de cursus

Machine Learning met caret in R

Cursus bekijken

Oefeninstructies

  • Zet de random seed op 42.
  • Maak een vector met rijnummers genaamd rows.
  • Orden de data frame diamonds willekeurig en wijs deze toe aan shuffled_diamonds.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Set seed


# Shuffle row indices: rows


# Randomly order data
Code bewerken en uitvoeren