ComeçarComece de graça

Validação cruzada com 10 folds

Como você viu no vídeo, uma forma melhor de validar modelos é usar vários conjuntos de teste sistemáticos, em vez de uma única divisão aleatória entre treino e teste. Felizmente, o pacote caret torna isso muito fácil:

model <- train(y ~ ., my_data)

O caret oferece suporte a muitos tipos de validação cruzada, e você pode especificar o tipo e o número de folds com a função trainControl(), que você passa para o argumento trControl em train():

model <- train(
  y ~ ., 
  my_data,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = 10,
    verboseIter = TRUE
  )
)

É importante observar que você passa o método de modelagem para a função principal train() e o método de validação cruzada para a função trainControl().

Este exercício faz parte do curso

Machine Learning com caret em R

Ver curso

Instruções do exercício

  • Ajuste uma regressão linear para modelar price usando todas as outras variáveis do conjunto de dados diamonds como preditoras. Use a função train() e validação cruzada com 10 folds. (Observe que usamos um subconjunto do conjunto diamonds completo para acelerar a operação, mas ele ainda se chama diamonds.)
  • Imprima o modelo no console e examine os resultados.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Fit lm model using 10-fold CV: model
model <- train(
  ___, 
  ___,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = ___,
    verboseIter = TRUE
  )
)

# Print model to console
Editar e executar o código