Jak korzystać z funkcji createdatapartition() w r


Możesz użyć funkcji createDataPartition() pakietu caret w R, aby podzielić ramkę danych na zbiory szkoleniowe i testowe na potrzeby budowania modelu.

Ta funkcja wykorzystuje następującą podstawową składnię:

createDataPartition(y, razy = 1, p = 0,5, lista = TRUE, …)

Złoto:

  • y : wektor wyników
  • razy : liczba partycji do utworzenia
  • p : procent danych do wykorzystania w zestawie szkoleniowym
  • list : czy przechowywać wyniki na liście, czy nie

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: użycie funkcji createDataPartition() w R

Załóżmy, że mamy ramkę danych w języku R zawierającą 1000 wierszy zawierającą informacje o godzinach nauki uczniów i odpowiadającym im wyniku na egzaminie końcowym:

 #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

Załóżmy, że chcemy dopasować prosty model regresji liniowej , który wykorzystuje przepracowane godziny do przewidywania oceny końcowej z egzaminu.

Załóżmy, że chcemy wytrenować model na 80% wierszy ramki danych i przetestować go na pozostałych 20% wierszy.

Poniższy kod pokazuje, jak użyć funkcji createDataPartition() pakietu caret do podzielenia ramki danych na zbiory uczące i testowe:

 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

Widzimy, że nasz zbiór danych szkoleniowych zawiera 800 wierszy, co stanowi 80% pierwotnego zbioru danych.

Podobnie widzimy, że nasz testowy zbiór danych zawiera 200 wierszy, co stanowi 20% pierwotnego zbioru danych.

Możemy również wizualizować pierwsze linie każdego zestawu:

 #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

Następnie możemy przystąpić do uczenia modelu regresji za pomocą zestawu uczącego i oceniać jego działanie za pomocą zestawu testowego.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:

Jak przeprowadzić walidację krzyżową K-Fold w R
Jak wykonać wielokrotną regresję liniową w R
Jak przeprowadzić regresję logistyczną w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *