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, kursun bir parçasıdır
R ile caret kullanarak Machine Learning
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Fit lm model using 10-fold CV: model
model <- train(
___,
___,
method = "lm",
trControl = trainControl(
method = "cv",
number = ___,
verboseIter = TRUE
)
)
# Print model to console