CARET'te parametre ayarlama (grid) özelliğini devre dışı bırakmanın bir yolu var mı?


15

CARET, bir son model seçmeden ve daha sonra son modeli tüm eğitim verileri üzerinde eğitmeden önce çeşitli modeller oluşturmak için otomatik olarak önceden belirlenmiş bir ayar ızgarası kullanacaktır. Kendi ayar ızgaramı sadece bir parametre kombinasyonu ile sağlayabilirim. Bununla birlikte, bu durumda bile, CARET ayar parametreleri arasında en iyi modeli "seçer" (bu durumda sadece bir tane olsa bile) ve daha sonra son modele tüm eğitim verilerine uyar. Bu kaçınmak istediğim ekstra bir adım.

Model arama adımını ayarlama ızgarasındaki varyasyonlar arasında nasıl atlayabilirim ve CARET'i tüm eğitim verilerini (doğrudan temeldeki model kütüphanesini doğrudan çağırmak dışında) oluşturmaya zorlayabilirim?


1
Soru oldukça net değil, bu muhtemelen neden farklı soruları cevaplayan cevaplar aldığınızı açıklıyor, yani 1) Caret'e model doğrulamasını VE ayarlamayı atlamasını nasıl söyleyebilirim? ve 2) Yalnızca model ayarlamasını nasıl kapatabilirim?
Johan Larsson

Yanıtlar:


17

Belirtebilirsiniz method="none"içinde trainControl. Örneğin:

train(Species ~ ., data=iris, method="rf", tuneGrid=data.frame(mtry=3),
  trControl=trainControl(method="none"))

Bunun ne zaman uygulandığından emin değilim.


9

En iyi yol, açıkça tuneGrid veri çerçevesini sağlamaktır. Örneğin, rastgele ormanda her ağaç için seçilen özellik sayısını kontrol eden yalnızca bir ayar parametresi (mtry) vardır.

Mtry'yi belirli bir değere ayarlamak için randomForest varsayılanını (? RandomForest) seçebilirsiniz:

model <- train(x = X, y = Y, method = 'rf', tuneGrid = data.frame(.mtry = M))

burada M, kullanmak istediğiniz ayar parametresinin bir değeridir.

çoklu ayar parametreleri için bunu yapın:

tuneGrid = data.frame(.par1 = P1, .par2 = P2, .par3 = P3)

Sitemize hoşgeldiniz Brent! Bu eski soruyu takip ettiğiniz için teşekkürler.
whuber

4
Aşağıdaki öneri method="none"daha iyi bir çözümdür.
topepo

1

Bunun mümkün olduğunu düşünmüyorum (en azından birkaç versiyondan önce mümkün değildi). Kişi, eğitim verilerinde yalnızca tek bir yeniden örnekleme bölümü oluşturarak performans etkisini azaltabilir (ancak caret bir modeli iki kez eğitir)

Bu paketin yazarına ping yapmak için yararlı bir özellik gibi geliyor.


Üzgünüz, bu cevap şimdi kullanılmıyor
smci
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.