GBM parametreleri için bazı yararlı kurallar nelerdir?


31

GBM'yi kullanarak parametreleri test etmek için bazı yararlı kurallar (örneğin etkileşim derinliği, minchild, numune oranı, vb.) Nelerdir?

Diyelim ki, 200.000 nüfuslu 70-100 özelliğe sahibim ve 3 ve 4'lük etkileşim derinliğini test etmeyi düşünüyorum. Açıkça, hangi parametrelerin kombinasyonunun en iyi örnek dışı kaldığını görmek için bazı testler yapmam gerekiyor. Bu test tasarımına nasıl yaklaşılacağına dair herhangi bir öneriniz var mı?

Yanıtlar:


34

Hediye paketi, probleminiz için parametre seçimini optimize etmenize yardımcı olabilir. CaretTrain vinci, 10 kat tekrarlanan çapraz onaylama kullanarak gbm parametrelerinin nasıl ayarlanacağını gösterir - diğer optimizasyon yaklaşımları da foreach paketi kullanılarak paralel olarak çalışabilir. vignette("caretTrain", package="caret")Belgeyi okumak için kullanın .

Paket destekleri ayarlama shrinkage, n.treesve interaction.depthgbm modeli için parametreler, kendi ekleyebilir bile.

Sezgisel tarama için bu benim ilk yaklaşımım:

shrinkage: Vaktiniz olduğu kadar küçük (gbm kılavuzu bu konuda daha fazla şey içeriyor, ancak genel olarak daha küçük bir değerle yanlış gidebilirsiniz). Veri setiniz küçük, bu yüzden muhtemelen 1e-3 ile başlardım.

n.trees: Genelde gbm.perf, yeterli değere sahip olduğumu söyleyene kadar (genellikle, bu değerin 1.2 katı kadar) daha fazla ağaç ekleyen bir ilk model oluşturuyorum ve daha sonra bunu daha fazla analiz için bir rehber olarak kullanıyorum.

interaction.depth: Bu konuda zaten bir fikriniz var. Küçük değerleri de deneyin. Maksimum değer kat (sqrt (NCOL (data))).

n.minobsinnode: Bu değişkeni ayarlamak gerçekten önemli buluyorum. Algoritmanın çok fazla sahte özellik bulacağı kadar küçük olmasını istemezsiniz.

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.