10-katlı çapraz doğrulama
Videoda gördüğün gibi, modelleri doğrulamanın daha iyi bir yolu, tek bir rastgele eğitim/test ayrımı yerine birden çok sistematik test kümesi kullanmaktır. Neyse ki, caret paketi bunu yapmayı çok kolaylaştırır:
model <- train(y ~ ., my_data)
caret birçok türde çapraz doğrulamayı destekler ve hangi çapraz doğrulama türünü ve kat sayısını trainControl() fonksiyonu ile belirtebilirsin; bunu train() içindeki trControl argümanına geçirirsin:
model <- train(
y ~ .,
my_data,
method = "lm",
trControl = trainControl(
method = "cv",
number = 10,
verboseIter = TRUE
)
)
Şunu unutmamak önemlidir: modelleme için kullanılacak yöntemi ana train() fonksiyonuna, çapraz doğrulama yöntemini ise trainControl() fonksiyonuna geçirirsin.
Bu egzersiz
R ile caret kullanarak Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
diamondsveri kümesindeki diğer tüm değişkenleri yordayıcı olarak kullanarakpriceiçin bir doğrusal regresyon modeli kur.train()fonksiyonunu ve 10 katlı çapraz doğrulamayı kullan. (Bu işlemi hızlandırmak için tamdiamondsveri kümesinden bir alt küme aldık, ancak adı yine dediamonds.)- Modeli konsola yazdır ve sonuçları incele.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Fit lm model using 10-fold CV: model
model <- train(
___,
___,
method = "lm",
trControl = trainControl(
method = "cv",
number = ___,
verboseIter = TRUE
)
)
# Print model to console