Como usar a função createdatapartition() em r


Você pode usar a função createDataPartition() do pacote circunflexo em R para particionar um quadro de dados em conjuntos de treinamento e teste para construção de modelo.

Esta função usa a seguinte sintaxe básica:

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

Ouro:

  • y : vetor de resultados
  • vezes : número de partições a serem criadas
  • p : porcentagem de dados a serem usados no conjunto de treinamento
  • list : se deseja armazenar os resultados na lista ou não

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: usando createDataPartition() em R

Suponha que temos um quadro de dados em R com 1.000 linhas contendo informações sobre as horas estudadas pelos alunos e a nota correspondente em um exame final:

 #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

Suponha que queiramos ajustar um modelo de regressão linear simples que utiliza horas estudadas para prever a nota do exame final.

Digamos que queremos treinar o modelo em 80% das linhas do quadro de dados e testá-lo nos 20% restantes das linhas.

O código a seguir mostra como usar a função createDataPartition() do pacote circunflexo para dividir o quadro de dados em conjuntos de treinamento e teste:

 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

Podemos ver que nosso conjunto de dados de treinamento contém 800 linhas, o que representa 80% do conjunto de dados original.

Da mesma forma, podemos ver que nosso conjunto de dados de teste contém 200 linhas, o que representa 20% do conjunto de dados original.

Também podemos visualizar as primeiras linhas de cada conjunto:

 #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

Podemos então treinar o modelo de regressão usando o conjunto de treinamento e avaliar seu desempenho usando o conjunto de teste.

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em R:

Como realizar a validação cruzada K-Fold em R
Como realizar regressão linear múltipla em R
Como realizar regressão logística em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *