Probiere einen 60/40-Split
Wie du im Video gesehen hast, arbeitest du in diesem Kapitel mit dem Datensatz Sonar und verwendest 60 % als Trainings- und 40 % als Testmenge. Wir üben das Erstellen eines Train/Test-Splits noch einmal, damit du es sicher beherrschst. Denk daran, dass du die Funktion sample() verwenden kannst, um eine zufällige Permutation der Zeilenindizes eines Datensatzes zu erhalten, die du für Train/Test-Splits nutzt, z. B.:
n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)
Und dann diese Zeilenindizes verwendest, um den Datensatz zufällig neu anzuordnen, z. B.:
my_data <- my_data[permuted_rows, ]
Sobald dein Datensatz zufällig angeordnet ist, kannst du die ersten 60 % als Trainingsmenge und die letzten 40 % als Testmenge abtrennen.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit caret in R
Anleitung zur Übung
- Ermittle die Anzahl der Beobachtungen (Zeilen) in
Sonarund weise sien_obszu. - Mische die Zeilenindizes von
Sonarund speichere das Ergebnis inpermuted_rows. - Verwende
permuted_rows, um die Zeilen vonSonarzufällig neu anzuordnen, und speichere dies alsSonar_shuffled. - Bestimme die passende Zeile, an der du für einen 60/40-Split trennst. Speichere diese Zeilennummer als
split. - Speichere die ersten 60 % von
Sonar_shuffledals Trainingsmenge. - Speichere die letzten 40 % von
Sonar_shuffledals Testmenge.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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