So verwenden sie die funktion createdatapartition() in r
Sie können die Funktion „createDataPartition()“ des Caret- Pakets in R verwenden, um einen Datenrahmen in Trainings- und Testsätze für die Modellerstellung zu unterteilen.
Diese Funktion verwendet die folgende grundlegende Syntax:
createDataPartition(y, times = 1, p = 0,5, list = TRUE, …)
Gold:
- y : Ergebnisvektor
- mal : Anzahl der zu erstellenden Partitionen
- p : Prozentsatz der im Trainingssatz zu verwendenden Daten
- Liste : ob die Ergebnisse in der Liste gespeichert werden sollen oder nicht
Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel: Verwendung von createDataPartition() in R
Angenommen, wir haben in R einen Datenrahmen mit 1.000 Zeilen, der Informationen über die Stunden, die die Schüler gelernt haben, und ihre entsprechende Punktzahl bei einer Abschlussprüfung enthält:
#make this example reproducible
set. seeds (0)
#create data frame
df <- data. frame (hours=runif(1000, min=0, max=10),
score=runif(1000, min=40, max=100))
#view head of data frame
head(df)
hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
6 2.016819 47.10139
Angenommen, wir möchten ein einfaches lineares Regressionsmodell anpassen, das die gelernten Stunden verwendet, um die Abschlussprüfungsnote vorherzusagen.
Nehmen wir an, wir möchten das Modell auf 80 % der Zeilen im Datenrahmen trainieren und es auf den restlichen 20 % der Zeilen testen.
Der folgende Code zeigt, wie Sie die Funktion „createDataPartition()“ des Caret- Pakets verwenden, um den Datenrahmen in Trainings- und Testsätze zu unterteilen:
library (caret)
#partition data frame into training and testing sets
train_indices <- createDataPartition(df$score, times= 1 , p= .8 , list= FALSE )
#create training set
df_train <- df[train_indices, ]
#create testing set
df_test <- df[-train_indices, ]
#view number of rows in each set
nrow(df_train)
[1] 800
nrow(df_test)
[1] 200
Wir können sehen, dass unser Trainingsdatensatz 800 Zeilen enthält, was 80 % des ursprünglichen Datensatzes entspricht.
Ebenso können wir sehen, dass unser Testdatensatz 200 Zeilen enthält, was 20 % des ursprünglichen Datensatzes entspricht.
Wir können uns auch die ersten Zeilen jedes Satzes vorstellen:
#view head of training set
head(df_train)
hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
7 8.983897 42.34600
#view head of testing set
head(df_test)
hours score
6 2.016819 47.10139
12 2.059746 96.67170
18 7.176185 92.61150
23 2.121425 89.17611
24 6.516738 50.47970
25 1.255551 90.58483
Anschließend können wir das Regressionsmodell mithilfe des Trainingssatzes trainieren und seine Leistung mithilfe des Testsatzes bewerten.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere gängige Funktionen in R verwenden:
So führen Sie eine K-Fold-Kreuzvalidierung in R durch
So führen Sie eine multiple lineare Regression in R durch
So führen Sie eine logistische Regression in R durch