Zufälligen Test/Train-Split erzeugen
In den nächsten Übungen arbeitest du mit den mpg-Daten aus dem Paket ggplot2. Die Daten beschreiben Eigenschaften verschiedener Automarken und -modelle aus unterschiedlichen Jahren. Ziel ist es, die städtische Kraftstoffeffizienz aus der Autobahn-Kraftstoffeffizienz vorherzusagen.
In dieser Übung teilst du mpg in einen Trainingssatz mpg_train (75 % der Daten) und einen Testsatz mpg_test (25 % der Daten). Eine Möglichkeit ist, mit der Funktion runif() (docs) eine Spalte gleichverteilter Zufallszahlen zwischen 0 und 1 zu erzeugen.
Wenn du einen Datensatz dframe der Größe \(N\) hast und eine zufällige Teilmenge von ungefähr \(100 * X\) % von \(N\) (wobei \(X\) zwischen 0 und 1 liegt), dann gilt:
- Erzeuge einen Vektor gleichverteilter Zufallszahlen:
gp = runif(N). dframe[gp < X,]hat ungefähr die gewünschte Größe.dframe[gp >= X,]ist die Ergänzung dazu.
Diese Übung ist Teil des Kurses
<Kurs>Überwachtes Lernen in R: Regression</Kurs>Übungsanweisungen
- Verwende die Funktion
nrow(docs), um die Anzahl der Zeilen im Data Framempgzu ermitteln. Weise diese Zahl der VariableNzu und gib sie aus. - Berechne, wie viele Zeilen ungefähr 75 % von N sind. Weise das Ergebnis der Variable
targetzu und gib es aus. - Verwende
runif(), um einen Vektor ausNgleichverteilten Zufallszahlen zu erzeugen, genanntgp. - Verwende
gp, ummpginmpg_trainundmpg_testaufzuteilen (wobeimpg_trainungefähr 75 % der Daten enthalten soll). - Verwende
nrow(), um die Größe vonmpg_trainundmpg_testzu prüfen. Haben sie ungefähr die richtige Größe?
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# mpg is available
summary(mpg)
dim(mpg)
# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)
# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)
# Create the vector of N uniform random variables: gp
gp <- ___
# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___
# Use nrow() to examine mpg_train and mpg_test
___
___