R'nin randomForest paketi, 32'den fazla seviye ile faktörü kaldıramaz. 32'den fazla seviye verildiğinde bir hata mesajı verir:
32'den fazla kategoriye sahip kategorik öngörücüleri işleyemez.
Ancak sahip olduğum verilerin birkaç faktörü var. Bazılarında 1000+, bazılarında 100+ var. Hatta 52 olan birleşik devletlerin “devletine” sahiptir.
İşte benim sorum.
Neden böyle bir sınırlama var? randomForest basit durum için bile çalışmayı reddeder.
> d <- data.frame(x=factor(1:50), y=1:50) > randomForest(y ~ x, data=d) Error in randomForest.default(m, y, ...) : Can not handle categorical predictors with more than 32 categories.
Eğer sadece hafıza sınırlaması nedeniyle, scikit, öğrenenin randomForeestRegressor'unu 32'den fazla seviye ile nasıl çalıştırabilir?
Bu sorunu çözmenin en iyi yolu nedir? X1, X2, ..., X50 bağımsız değişkenlerine sahip olduğumu ve Y'nin bağımlı değişken olduğunu varsayalım. Ve X1, X2 ve X3'ün 32'den fazla seviyeye sahip olduğunu varsayalım. Ne yapmalıyım?
Düşündüğüm şey, X1, X2 ve X3'ün her biri için, Y'de fark olarak tanımlandığı her biri için kümeleme algoritması çalıştırıyor. Üç sorunlu değişken olduğu için üç kümeleme yapacağım. Ve her kümelemede, benzer seviyeler bulabilsem diyorum. Ve onları birleştireceğim.
Bu nasıl ses geliyor?