2016-05-18 6 views
1

Ich machte eine zufällige Wald in H2O mit r. Es hat Bäume und Blätter.Gesamtblattzahl in H2O

Ich möchte wissen, wie viele Blätter. Ich vergleiche gerne meine Gesamtzahl an Zeilen mit Blättern.

Ich habe 200 Bäume, 8 Schichten tief, erfordern 5 Reihen pro Terminalblatt. Überquere ich einen Großteil meiner Daten? Ich habe 20k Zeilen.

Gibt es eine saubere Möglichkeit, die Anzahl der Blätter im h2o randomForest zu zählen?

+0

Ein Zufallswaldmodell eigentlich eine Sammlung von Bäumen ist. Warum musst du die Anzahl der Blätter berechnen? –

+0

Ich möchte das Verhältnis von Blättern zu Zeilen verwenden, um über Überanpassung oder Unteranpassung hinsichtlich variabler Wichtigkeit nachzudenken. Wenn ich jede Zeile 12 mal verwende, dann ist wahrscheinlich ein Problem. Wenn ich weniger als 0,5% der Zeilen verwende, könnte ich unterbemustert sein, auch wenn es bootstrappy aussieht. Vielleicht benutzen meine Bäume die gleiche Reihe 12 mal oder 0,1 mal. Ich möchte in Bezug auf die Berichterstattung denken und weiß nicht, wie man auf die tatsächlichen "h2o" Blätter zugreifen kann. – EngrStudent

+0

Dieser Ansatz ist nicht richtig AFAIK. Die Variablen, die für eine frühzeitige Aufteilung verwendet werden, dominieren normalerweise das Verhalten eines bestimmten Baumes. Wenn Sie eine variable Wichtigkeit wünschen, sollten Sie 'folicion()' verwenden oder für eine einfachere Option das beste Konstantenmodell ausprobieren. –

Antwort

2

Sie werden froh sein, dass H2O diese Informationen speichert! Z.B. (Dies ist für die eingestellte Iris Daten)

m <- h2o.randomForest(1:4, 5, data) 

Wenn m Druck Ich sehe:

number_of_trees model_size_in_bytes min_depth max_depth mean_depth min_leaves max_leaves mean_leaves 
      150    20217   1   9 3.72667   21   15  6.17333 

So gibt es 926 Blätter (6.17333 * 150).

Um es mit dem Code zu erhalten:

ms = [email protected]$model_summary 
ms$number_of_trees * ms$mean_leaves 
Verwandte Themen