ÎncepețiÎncepe gratuit

Validare încrucișată cu 10 iterații

Așa cum ai văzut în video, o abordare mai bună pentru validarea modelelor este să folosești mai multe seturi de testare sistematice, în loc de o singură împărțire aleatorie în date de antrenament și date de testare. Din fericire, pachetul caret face acest lucru foarte simplu:

model <- train(y ~ ., my_data)

caret suportă mai multe tipuri de validare încrucișată. Poți specifica tipul de validare încrucișată și numărul de iterații cu funcția trainControl(), pe care o transmiți argumentului trControl din train():

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

Este important de reținut că metoda de modelare se transmite funcției principale train(), iar metoda de validare încrucișată se transmite funcției trainControl().

Acest exercițiu face parte din cursul

Machine Learning cu caret în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Antrenează un model de regresie liniară pentru a modela variabila price folosind toate celelalte variabile din setul de date diamonds drept predictori. Folosește funcția train() și validare încrucișată cu 10 iterații. (Reține că am folosit un subset al setului de date complet diamonds pentru a accelera operația, dar acesta păstrează numele diamonds.)
  • Afișează modelul în consolă și analizează rezultatele.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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

# Print model to console
Editează și rulează codul