Das randomForest-Paket von R kann nicht mit Faktoren mit mehr als 32 Ebenen umgehen. Bei mehr als 32 Ebenen wird eine Fehlermeldung ausgegeben:
Kann keine kategorialen Prädiktoren mit mehr als 32 Kategorien verarbeiten.
Aber die Daten, die ich habe, haben mehrere Faktoren. Einige von ihnen haben 1000+ Levels und einige von ihnen haben 100+. Es hat sogar "Staat" der Vereinigten Staaten, die 52 ist.
Also, hier ist meine Frage.
Warum gibt es eine solche Einschränkung? randomForest weigert sich, auch für den einfachen Fall auszuführen.
> 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.
Wie kann der randomForeestRegressor von scikit learn mit mehr als 32 Ebenen ausgeführt werden, wenn der Arbeitsspeicher begrenzt ist?
Was ist der beste Weg, um mit diesem Problem umzugehen? Angenommen, ich habe X1, X2, ..., X50 unabhängige Variablen und Y ist abhängige Variable. Angenommen, X1, X2 und X3 haben mehr als 32 Ebenen. Was sollte ich tun?
Was ich denke, ist Clustering-Algorithmus für jedes von X1, X2 und X3, wobei Abstand als Differenz in Y definiert ist. Ich werde drei Clustering ausführen, da es drei problematische Variablen gibt. Und ich wünschte, ich könnte in jedem Cluster ähnliche Ebenen finden. Und ich werde sie zusammenführen.
Wie hört sich das an?
randomForest
können kategoriale Prädiktoren mit bis zu 53 Ebenen verarbeitet werden. Nachrichten