Nach dem Lernen eines mllib DecisionTree-Modells (http://spark.apache.org/docs/latest/mllib-decision-tree.html) wie berechne ich Knotenstatistiken, wie z. B. Unterstützung (wie viele Stichproben stimmen mit diesem Unterbaum überein) und wie viele Stichproben pro Etikett mit diesem Unterbaum übereinstimmen?Statistik für Spark mllib DecisionTree
Wenn es einfacher ist, nehme ich auch gerne ein anderes Tool als Spark, um den Debug-String zu nehmen und diese Statistiken zu berechnen. Beispiel für die Debug-string:
DecisionTreeModel classifier of depth 20 with 20031 nodes
If (feature 0 <= -35.0)
If (feature 24 <= 176.0)
If (feature 0 <= -200.0)
If (feature 29 <= 109.0)
If (feature 6 <= -156.0)
If (feature 9 <= 0.0)
If (feature 20 <= -116.0)
If (feature 16 <= 203.0)
If (feature 11 <= 163.0)
If (feature 5 <= 384.0)
If (feature 15 <= 325.0)
If (feature 13 <= -248.0)
If (feature 20 <= -146.0)
Predict: 0.0
Else (feature 20 > -146.0)
If (feature 19 <= -58.0)
Predict: 6.0
Else (feature 19 > -58.0)
Predict: 0.0
Else (feature 13 > -248.0)
If (feature 9 <= -26.0)
Predict: 0.0
Else (feature 9 > -26.0)
If (feature 10 <= 218.0)
...
Ich verwende mllib wegen Out-of-Core-Lernen, die ich brauche, weil die Daten nicht in den Speicher passen. Wenn Sie bessere Alternativen als MLLIB haben, bin ich glücklich, sie zu versuchen.
Ich kann die Entscheidungsbäume von sklearn nicht verwenden, da sie kein Online/Out-of-Core-Training unterstützen. Aber die Ausgabe, die Sie erhalten, sieht aus, als könnte es sein, was ich will (Sie haben zwei Labels, Klicks und Conversions ist das richtig?). Können Sie Code bereitstellen, um diese Ausgabe zu erhalten? Kann ich es auch von einem Spark-Mllib-Modell bekommen? – DreamFlasher
Ich habe meine Antwort aktualisiert. – RoyaumeIX