

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Considere os dois trechos de código a seguir, ambos escritos na Linguagem R. O primeiro utiliza o pacote tidyverse, enquanto o segundo utiliza caret para o mesmo propósito.
Código 1(tidyverse):
library(tidyverse)
set.seed(123)
dados <- tibble(
X1 = rnorm(100),
X2 = rnorm(100),
Y = sample(c("A", "B"), 100, replace = TRUE)
)
dados_treino <- dados %>% sample_frac(0.7)
dados_teste <- anti_join(dados, dados_treino)
Código2(caret):
library(caret)
set.seed(123)
dados <- data.frame(
X1 = rnorm(100),
X2 = rnorm(100),
Y = sample(c("A", "B"), 100, replace = TRUE)
)
indices <- createDataPartition(dados$Y, p = 0.7,
list = FALSE)
dados_treino <- dados[indices, ]
dados_teste <- dados[-indices, ]
Em relação aos códigos apresentados, assinale a alternativa correta.
Ambos os códigos garantem que a proporção da variável de saída seja mantida na divisão entre treino e teste, evitando possíveis desbalanceamentos.
O primeiro código seleciona uma parte dos dados de maneira totalmente aleatória, sem se preocupar com a distribuição da variável de saída, enquanto o segundo código faz a divisão garantindo que as proporções da variável de saída sejam mantidas nos dois conjuntos.
Os dois códigos realizam a divisão dos dados utilizando a mesma estratégia, sem diferenças na forma como as observações são separadas entre treino e teste.
O primeiro código apresenta uma inconsistência na forma como o conjunto de teste é gerado, podendo resultar na seleção de observações duplicadas ou na omissão de algumas delas.
O segundo código realiza uma divisão aleatória simples, sem nenhuma preocupação com a distribuição da variável de saída entre os conjuntos de treino e teste.