Bu belki de aptalca bir soru olabilir, ancak caret ile bir model oluştururken LOOCV
veya veya (hatta daha da fazlası) gibi bir şey kullanırken LGOCV
, aslında çapraz doğrulama adımının bu olması durumunda verileri tren ve test setlerine bölmenin yararı nedir? neyse?
İlgili soruların bazılarını okudum ve çapraz onaylama yöntemlerinden bazılarının (örneğin burada caret sitesinde anlatılanlar ) özellik seçimi amacıyla olduğunu ileri sürdüler . Ama benim durumumda, tahmincileri temizlemeye çalışan grupta yer almayan randomForest
( method = "rf"
) ve kernlab
( method = svmRadial
) yöntemlerini kullanıyorum .
Yani sorum şu: cross_val <- trainControl(method = "LGOCV", p = 0.8)
Verilerimin% 80'inde eğitim yapmak, elde edilen modeli kalan% 20'de test etmek ve bunu tekrar tekrar yapmakla aynı şey değil mi? model çalışıyor?
Öyleyse, verilerimi tren / test setlerine ayırmaya gerek var mı?
PS Kısmen ampirik olarak oluşturulan DOE prototipleri üzerinde modeller yürüttüğümü soruyorum (girişleri değiştirdiğimiz sert malları düşünün ve sonra prototip ile ilgili çeşitli özellikleri ölçmek için test yöntemlerini kullanın).
Bu nedenle, modellemek için çok sayıda örtüşen öngörücü seviyeye sahip büyük bir veri setim yok - bu durumda veri üretimi pahalı olduğu için genellikle her DOE ilgi noktasında bir deneme çalıştırıyoruz. Bu nedenle, doğru bir model için elimden gelen tüm verileri kullanmak istiyorum, ancak burada bariz bir şeyi kaçırmadığımı ve şeyleri bölmeyerek kötü bir model yapmadığımı kontrol etmek istedim.
Düzenleme: @ topepo'nun sorusuna yanıt olarak, formülün kimyasal girdilerini ayarlamaya dayalı olarak bir bileşiğin fiziksel olarak ölçülen niteliklerini modelliyorum. Gerçek uygulamamı tartışamıyorum, ama iç lateks boya formüle etmeye dayalı bir örnek oluşturacağım. Ben 4-5 kimyasalları karıştırdığımız, belki de% katı ile oynadığımız ve polimerizasyon derecesini ayarlamak için polimer çözeltisini ısıtmak için bir süre tasarladığımız deneyler yapıyorum.
Daha sonra reoloji, moleküler ağırlık, boya kaplamasının sertliği, su direnci vb.
Birkaç değişkenin iyi kopyaları var, ancak her DOE seviyesinin tamamen aynı olduğu anlamında çok az gerçek kopya var. Toplam veri seti ~ 80 gözlemdir ve belki 4-5 tam tekrardır. 15 farklı test yaptık ve belki de her gözlem için 5-6 tanesi yapıldı. Yanıtların bazıları verilerin% 25-50'sinde mevcuttur.
Buradan, 7 öngörücümüzün çıktı özellikleri üzerindeki etkilerini modellemek ve daha sonra istenen özellikleri vermesi muhtemel yeni tasarım alanlarını hedeflemek için optimize etmek istiyoruz.
(Bu yüzden BURAYA sorum . Eğitimli bir modelim olduğunda, bir sonraki denemek için olası giriş seviyelerinde en iyi tahminin elde edilmesi için "geri" yapmak ve istenen yanıtları beslemek güzel olurdu).
data_set1
yaparsam, LGOCV
çapraz doğrulamanın gerçekleştirdiği adımı ne düşünürüm? caret
Okuduğumdan 1) ayar parametreleri üzerinden yineliyor data_set1
ve sonra 2) bu parametreleri sabit tutar ve 3) her bir p = 0.8
örnek için # 1 parametrelerini kullanarak bir "alt model" oluşturur data_set1
ve doğruluğu ölçmek için kalan 0.2'deki testleri test eder . Bu makul bir özet mi?