1. Nauka
  2. /
  3. Kursy
  4. /
  5. Uczenie maszynowe z caret w R

Connected

ćwiczenie

10-krotna walidacja krzyżowa

Jak pokazano w filmie, lepszym podejściem do walidacji modeli jest korzystanie z wielu systematycznych zbiorów testowych zamiast jednego losowego podziału na zbiór treningowy i testowy. Na szczęście pakiet caret bardzo to ułatwia:

model <- train(y ~ ., my_data)

caret obsługuje wiele rodzajów walidacji krzyżowej. Typ walidacji oraz liczbę jej podziałów możesz określić za pomocą funkcji trainControl(), którą przekazujesz do argumentu trControl funkcji train():

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

Ważne: metodę modelowania przekazujesz do głównej funkcji train(), natomiast metodę walidacji krzyżowej – do funkcji trainControl().

Instrukcje

100 XP
  • Dopasuj model regresji liniowej, który przewiduje price na podstawie wszystkich pozostałych zmiennych w zbiorze danych diamonds. Użyj funkcji train() i 10-krotnej walidacji krzyżowej. (Zwróć uwagę, że pracujemy na podzbiorze pełnego zbioru diamonds, aby przyspieszyć obliczenia – nadal jednak nosi on nazwę diamonds.)
  • Wyświetl model w konsoli i przeanalizuj wyniki.