Wie werden zufällige Wälder und extrem zufällige Bäume unterschiedlich aufgeteilt?

9

Für zufällige Gesamtstrukturen teilen wir den Knoten nach Gini-Verunreinigung oder Entropie für eine Reihe von Merkmalen auf. Mit dem RandomForestClassifier in sklearn können wir wählen, ob wir das Gini-Kriterium oder das Entropy-Kriterium verwenden möchten. Was ich jedoch über Extra-Trees Classifier gelesen habe, ist ein zufälliger Wert für die Aufteilung (ich denke, dann hat das nichts mit Gini oder Entropy zu tun). Der ExtraTreesClassifier von sklearn bietet die Möglichkeit, Gini oder Entropy für die Aufteilung auszuwählen. Ich bin hier ein bisschen verwirrt.

lusicat
quelle

Antworten:

10

Eine Iteration von Random Forest:

  1. Wählen m Merkmale zufällig als Kandidatensatz für Aufteilungsmerkmale
  2. Suchen Sie in jedem dieser Features den "besten" Schnittpunkt, wobei "bester" durch Gini / Entropy / welches Maß auch immer definiert wird
  3. Jetzt hast du mFunktionen gepaart mit ihren optimalen Schnittpunkten. Wählen Sie als Aufteilungsfunktion und schneiden Sie das Paar mit der "besten" Leistung in Bezug auf Gini / Entropie / welches Maß auch immer

Eine Iteration extrem randomisierter Bäume:

  1. Wählen m Merkmale zufällig als Kandidatensatz für Aufteilungsmerkmale

  2. Innerhalb jeder dieser Funktionen Fimit i1,...,m Zeichnen Sie einen einzelnen zufälligen Schnittpunkt gleichmäßig aus dem Intervall (min(Fi),max(Fi)). Bewerten Sie die Leistung dieser Funktion mit diesem Schnittpunkt in Bezug auf Gini / Entropie / welches Maß auch immer

  3. Jetzt hast du mFunktionen gepaart mit ihren zufällig ausgewählten Schnittpunkten. Wählen Sie als Aufteilungsfunktion und schneiden Sie das Paar mit der "besten" Leistung in Bezug auf Gini / Entropie / welches Maß auch immer
klumbard
quelle
Erstaunliche Erklärung, ich habe damit zu kämpfen und das hat es komplett geklärt.
Yu Chen
Ich bin verwirrt über zusätzliche Bäume. Ich dachte, alle zusätzlichen Bäume würden eine zufällige Teilmenge von Merkmalen zeichnen und dann ein zufälliges Merkmal aus dieser Teilmenge von Merkmalen zeichnen. Ich dachte, es würde keine Optimierung in Bezug auf geteilte Metriken bewirken?
Michael Hsu
Es optimiert w / r / t-Teilungsmetriken, jedoch erst, nachdem diese Teilungsmetriken zufällig ausgewählt wurden. Aus der eigenen Dokumentation von scikit-learn: "Wie in zufälligen Gesamtstrukturen wird eine zufällige Teilmenge von Kandidatenmerkmalen verwendet, aber anstatt nach den diskriminierendsten Schwellenwerten zu suchen, werden Schwellenwerte für jedes Kandidatenmerkmal und die besten dieser zufällig generierten Schwellenwerte zufällig gezogen wird als Aufteilungsregel ausgewählt "
klumbard