Gibt es eine Random Forest-Implementierung, die mit sehr spärlichen Daten gut funktioniert?


23

Gibt es eine R-Random-Forest-Implementierung, die mit sehr spärlichen Daten gut funktioniert? Ich habe Tausende oder Millionen von booleschen Eingabevariablen, aber nur Hunderte oder so werden für ein bestimmtes Beispiel WAHR sein.

Ich bin relativ neu in R und habe festgestellt, dass es ein 'Matrix'-Paket für den Umgang mit spärlichen Daten gibt, aber das standardmäßige' randomForest'-Paket scheint diesen Datentyp nicht zu erkennen. Wenn es darauf ankommt, werden die Eingabedaten außerhalb von R erzeugt und importiert.

Irgendein Rat? Ich kann auch Weka, Mahout oder andere Pakete verwenden.


Soweit ich das beurteilen kann, gibt es keine R-Pakete für spärliche Entscheidungsbäume. Ich glaube, es gibt Algorithmen für spärliche Entscheidungsbäume, die, wenn sie in R implementiert werden, verwendet werden könnten, um zufällige Wälder zu erstellen.
Zach

2
Hier ist ein guter Kandidat: cs.cornell.edu/~nk/fest . Wenn Sie Ihre Daten im libsvm-Format exportieren können, können Sie dieses Befehlszeilenprogramm verwenden. Würde gerne einen R-Port sehen ...
Zach

Zach - die Verbindung scheint tot zu sein.
Benoit_Plante

2
@ cmoibenlepro der Link ist lowrank.net/nikos/fest
seanv507

Link funktionierte gut für mich
David Marx

Antworten:


13

Nein, in R gibt es keine HF-Implementierung für spärliche Daten. Dies liegt zum Teil daran, dass HF für diese Art von Problem nicht sehr gut geeignet ist. Das Absacken und die suboptimale Auswahl von Teilungen können den größten Teil der Modellerkenntnisse in reinen Nullbereichen verschwenden.

Probieren Sie eine Kernel-Methode aus oder überlegen Sie sich, ob Sie Ihre Daten mit einigen Deskriptoren in eine üppigere Darstellung umwandeln möchten (oder verwenden Sie eine Methode zur Dimensionsreduzierung).


Die Antwort von Hack-R weist auf das xgboost-Paket hin, das in der Lage ist, zufällige Wälder mit spärlichen Matrizen zu erstellen.
Edgar

7

Eigentlich gibt es ja .

Es ist xgboost, was für eXtreme Gradienten-Boosting gemacht ist. Dies ist derzeit das Paket der Wahl für das Ausführen von Modellen mit spärlichen Matrizen in R für viele Benutzer. Wie der obige Link erläutert, können Sie es für Random Forest verwenden, indem Sie die Parameter optimieren !


4

Das R-Paket "Ranger" sollte reichen.

https://cran.r-project.org/web/packages/ranger/ranger.pdf

Eine schnelle Implementierung von Random Forests, besonders geeignet für hochdimensionale Daten.

Im Vergleich zu randomForest ist dieses Paket wahrscheinlich die schnellste RF-Implementierung, die ich je gesehen habe. Es behandelt kategoriale Variablen auf native Weise.


-4

Es gibt einen Blog namens Quick-R, der Ihnen bei den Grundlagen von R helfen soll.

R arbeitet mit Paketen. Jedes Paket kann etwas anderes machen. Es gibt Pakete mit dem Namen "randomForests", die genau das sind, wonach Sie fragen.

Beachten Sie, dass spärliche Daten unabhängig von der angewendeten Methode Probleme bereiten. Meines Wissens ist es ein sehr offenes Problem und Data Mining im Allgemeinen ist eher eine Kunst als eine Wissenschaft. Zufällige Wälder sind insgesamt sehr gut, aber nicht immer die beste Methode. Möglicherweise möchten Sie ein neuronales Netzwerk mit vielen Schichten ausprobieren, was möglicherweise hilfreich ist.


4
Nein, randomForest ist notorisch schlecht mit spärlichen Daten, daher die ganze Frage. Der Parameter classwt ist in randomForest nicht ordnungsgemäß implementiert. Manuelles Oversampling ist ein Ansatz, der jedoch den OOB-Fehler durcheinanderbringt. Das Paket heißt übrigens nicht 'randomForests'.
smci

1
Die Teile davon, die wahr sind, sind keine Antworten auf die Frage.
Sycorax sagt Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.