Gerando uma divisão aleatória de treino/teste
Nos próximos exercícios, você vai usar os dados mpg do pacote ggplot2. Esse conjunto descreve características de várias marcas e modelos de carros de diferentes anos. O objetivo é prever a eficiência de combustível na cidade a partir da eficiência na estrada.
Neste exercício, você vai dividir mpg em um conjunto de treino mpg_train (75% dos dados) e um conjunto de teste mpg_test (25% dos dados). Uma forma de fazer isso é gerar uma coluna de números aleatórios com distribuição uniforme entre 0 e 1, usando a função runif() (docs).
Se você tem um conjunto de dados dframe de tamanho \(N\), e quer um subconjunto aleatório de tamanho aproximado \(100 * X\)% de \(N\) (onde \(X\) está entre 0 e 1), então:
- Gere um vetor de números aleatórios uniformes:
gp = runif(N). dframe[gp < X,]terá aproximadamente o tamanho desejado.dframe[gp >= X,]será o complemento.
Este exercício faz parte do curso
Aprendizado Supervisionado em R: Regressão
Instruções do exercício
- Use a função
nrow(docs) para obter o número de linhas do data framempg. Atribua essa contagem à variávelNe imprima. - Calcule aproximadamente quantas linhas correspondem a 75% de N. Atribua à variável
targete imprima. - Use
runif()para gerar um vetor deNnúmeros aleatórios uniformes, chamadogp. - Use
gppara dividirmpgemmpg_trainempg_test(commpg_traincontendo aproximadamente 75% dos dados). - Use
nrow()para verificar o tamanho dempg_trainempg_test. Eles estão aproximadamente no tamanho esperado?
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
___
___