Random Forest von R-Paket-Party überlagert zufällige Daten

8

Ich arbeite an der Random Forest Klassifikation.

Ich habe festgestellt, dass cforest im "party" -Paket normalerweise besser abschneidet als "randomForest".
Es schien jedoch, dass cforest leicht überanstrengt.

Ein Spielzeugbeispiel

Hier ist ein zufälliger Datensatz, der die Antwort des binären Faktors und 10 numerische Variablen enthält, die aus rnorm () generiert wurden.

%Vor%

Führen Sie cforest aus, indem Sie unvoreingenommene Parameter verwenden (vielleicht empfohlen).

%Vor%

Ziemlich gute Vorhersage-Performance für bedeutungslose Daten.

Auf der anderen Seite geht RandomForest ehrlich.

%Vor%

Woher kommen diese Unterschiede? Ich habe Angst, dass ich Cforest falsch benutze.

Lassen Sie mich einige zusätzliche Beobachtungen in cforest:

  1. Die Anzahl der Variablen hat das Ergebnis nicht sehr beeinflusst.
  2. Variable Wichtigkeitswerte (berechnet durch varimp (cf)) waren ziemlich niedrig, verglichen mit denen, die einige realistische erklärende Variablen verwendeten.
  3. Die AUC der ROC-Kurve betrug fast 1.

Ich würde Ihre Hinweise begrüßen.

Zusätzliche Notiz

Einige haben sich gewundert, warum ein Trainingsdatensatz auf die Vorhersagefunktion () angewendet wurde.
Ich habe keinen Testdatensatz erstellt, da die Vorhersage für OOB-Stichproben durchgeführt wurde, was für Cforest nicht galt.
cf Ссылка

    
dytori 23.10.2013, 12:57
quelle

2 Antworten

9

Sie können nichts über die wahre Leistung eines Klassifikators erfahren, indem Sie seine Leistung auf dem Trainingssatz studieren. Darüber hinaus, da es kein echtes Muster zu finden gibt, kann man nicht wirklich sagen, ob es schlechter ist, sich wie cforest zu überziehen, oder zufällig wie randomForest zu raten. Alles, was Sie sagen können, ist, dass die beiden Algorithmen unterschiedliche Strategien verfolgten, aber wenn Sie sie auf neuen ungesehenen Daten testen würden, würden beide wahrscheinlich scheitern.

Die only Möglichkeit, die Leistung eines Klassifikators abzuschätzen, besteht darin, ihn auf externen Daten zu testen, die nicht Teil des Trainings waren, in einer Situation, in der Sie wissen, dass ein Muster zu finden ist.

Einige Kommentare:

  1. Die Anzahl der Variablen sollte keine Rolle spielen, wenn sie keine nützlichen Informationen enthalten.
  2. Schön zu sehen, dass die Bedeutung der Variablen für sinnlose Daten geringer ist als für aussagekräftige Daten. Dies könnte als Plausibilitätsprüfung für die Methode dienen, aber wahrscheinlich nicht viel mehr.
  3. AUC (oder ein anderes Leistungsmaß) spielt im Trainingssatz keine Rolle, da es einfach ist, perfekte Klassifikationsergebnisse zu erhalten.
Backlin 23.10.2013, 14:15
quelle
3

Die Methoden predict haben unterschiedliche Standardwerte für die Modelle cforest bzw. randomForest . party:::predict.RandomForest bringt dich

%Vor%

so

%Vor%

holt mich

%Vor%

während

%Vor%

holt mich

%Vor%

was ein respektabel düsteres Ergebnis ist.

    
Noah 23.10.2013 16:01
quelle

Tags und Links