Wie finde ich heraus, auf welche Attribute sich mein Baum bei Verwendung von scikit-learn aufteilt?
Habe ich erforscht, scikit-learn, so dass die Entscheidung Bäume sowohl für die Entropie und gini-splitting-Kriterien, und die Erforschung der Unterschiede.
Meine Frage ist wie kann ich das "öffnen der Motorhaube" und genau herauszufinden, welche Attribute die Bäume aufteilen auf auf jeder Ebene, zusammen mit Ihren zugehörigen Daten-Werte, damit ich sehen kann, wo die zwei-Kriterium andere Entscheidungen treffen?
So weit, ich habe es erforscht die 9 beschriebenen Methoden in der Dokumentation. Sie scheinen nicht zu erlauben, auf diese Informationen zuzugreifen. Aber sicherlich sind diese Informationen zugänglich? Ich bin in eine Liste oder ein dict, der hat die Einträge für die Knoten-und gewinnen.
Dank für Eure Hilfe und ich entschuldige mich, wenn ich was übersehen habe völlig auf der Hand.
InformationsquelleAutor der Frage Matt O'Brien | 2013-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Direkt aus der Dokumentation ( http://scikit-learn.org/0.12/modules/tree.html ):
Gibt es auch die
tree_
Attribut in Ihrer Entscheidung, Baum-Objekt ermöglicht den direkten Zugriff auf die gesamte Struktur.Und Sie können einfach Lesen, es
weitere Einzelheiten erhalten Sie auf der source-code des export-Methode
Im Allgemeinen können Sie die
inspect
Modulbekommen alle das Objekt die Elemente
InformationsquelleAutor der Antwort lejlot
Wenn Sie wollen einfach nur einen schnellen Blick auf das, was in den Baum, versuchen:
wobei X der Daten-frame von unabhängigen Variablen und clf ist die decision tree-Objekt. Beachten Sie, dass
clf.tree_.children_left
undclf.tree_.children_right
zusammen enthalten die Reihenfolge der splits gemacht wurden (jeder dieser entspräche einem Pfeil in der graphviz-Visualisierung).InformationsquelleAutor der Antwort Daniel Gibson