Rastgele Ormanlarla modelleme çapraz doğrulama gerektiriyor mu?


23

Gördüğüm kadarıyla, bu konuda görüşler farklılaşıyor. En iyi uygulama, kesinlikle çapraz doğrulama kullanarak (özellikle de RF'leri aynı veri setindeki diğer algoritmalarla karşılaştırıyorsanız) kullanmaya zorlayacaktır. Öte yandan, orijinal kaynak OOB hatasının model eğitimi sırasında hesaplanmasının test set performansının bir göstergesi için yeterli olduğunu belirtmektedir. Trevor Hastie bile, nispeten yakın tarihli bir görüşmede "Rastgele Ormanların serbest çapraz doğrulama sağladığını" söylüyor. Sezgisel olarak, eğer bir veri setinde RF tabanlı bir modeli eğitmek ve geliştirmek için çalışıyorsa, bu bana mantıklı geliyor.

Birisi lütfen rastgele ormanlarla çapraz doğrulama ihtiyacına yönelik ve aleyhindeki argümanları ortaya koyabilir mi?


Açıkça görüş arayan sorular genellikle borsanın olduğu sitelerde önerilmemektedir, datascience.stackexchange.com/help/dont-ask , belki de kullanıcıların deneyimini desteklemek için örnek teşkil etmek isteyen soruyu tekrar yazabilirsiniz ? Veya bir pozisyon veya diğeri için teorik bir temel arayın.
image_doctor 20:15

2
Rastgele Ormanların diğer ML algoritmalarına uyma olasılığı daha düşüktür, ancak çapraz doğrulama (veya bazı alternatif değerlendirme biçimleri) yine de önerilmelidir.
David

Bence bu soruyu istatistikçi SO'ya sormanız gerekir
Marcin Kosiński

@Didid'i ikinci olarak istiyorum ... ya da böyle, çapraz doğrulama yapacaksınız.

Trevor Hastie'nin iddia ettiği ifadeye referans verebilir misiniz?
tipanverella

Yanıtlar:


7

Varsayılan olarak rastgele orman, eğitim için 2 / 3. veri alır ve sınıflandırma sırasında test için dinlenme ve regresyon için test ve dinlenme için neredeyse% 70 veri sağlar. Sınıflandırma sırasında test için dinlenme. Diğer modeller. Sklearn'de nfolds kullanarak CV kullanmak istiyorsanız, yine de oob_score (çanta dışı) = True gibi CV setli veya CV'siz model performansını gösteren kavramını kullanabilirsiniz. Yani, oob_score = True kullanarak nfolds olan veya olmayanlar, CV kullanmanın verileriniz için iyi olup olmadığını anlatabilir. çok gelişme.


5

Önemli bir fark, çapraz onaylamanın tüm numunelerin eğitim ve test setlerinde görünmesini sağlamasıdır, bu nedenle verilerinizin% 100'ü bir noktada eğitim ve test için kullanılır.

Veri kümenizin boyutuna bağlı olarak, bootstrapping, yerine örnekleme yapılması, rastgele ormanda meydana gelmesi, ağaçların tüm örnekleri içerdiğini görecek bölünmeleri garanti etmez. Ormanda yeteri kadar ağaç varsa, OOB tahmini asimptotik olarak en iyi OOB tahmini değerine yakınlaşmalıdır.

Her iki yöntemin doğruluğu da bir dereceye kadar verilere bağlı olacaktır, bu nedenle her iki yöntemi de önünüzdeki verilerle karşılaştırmanız ve CV ve RF OOB tahminlerinin benzer değerler sağlayıp sağlamadığını görmek akıllıca olabilir.

Olmazsa, gerçek hata oranına ilişkin diğer tahminleri, belki de CV'deki K değerlerinin çok yüksek olanlarını araştırmaya değer.


3

Kullanarak 50k satırlık bir veri kümesinde bazı testler yaptım sklearn.RandomForestRegressor.

Önemli ölçüde farklı puanlar alıyorum - Metrik için normalleştirilmiş bir gini kullanıyorum - kullanmam rf.oob_prediction_(0.2927) veya KFold CV kullanmama bağlı olarak (7 kat için 0.3258 ve 3 kat için 0.3236).

Bununla birlikte, “özellikle RF'leri aynı veri setindeki diğer algoritmalarla karşılaştırmak”, OOB tahminine dayanmak yerine manuel CV kullanmaya yönelik güçlü bir husustur.

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.