Verschiedene Entscheidungsbaumalgorithmen mit Vergleich von Komplexität oder Leistung
Ich Tue Forschung auf data mining und genauer, decision trees.
Ich würde gerne wissen, ob es mehrere algorithmen zu bauen ist eine Entscheidung, die Bäume (oder nur einen?), und was ist besser, basierend auf Kriterien wie
- Leistung
- Komplexität
- Fehler in der Entscheidungsfindung
- und mehr.
InformationsquelleAutor der Frage Youssef | 2012-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Decision Tree-Implementierungen unterscheiden sich in Erster Linie entlang dieser Achsen:
den splitting-Kriterium (d.h., wie "Varianz" wird berechnet)
ob es baut Modelle für regression (kontinuierliche Variablen, z.B., ein
score) sowie Klassifizierung (diskrete Variablen, z.B., a-Klasse
label)
Technik zu beseitigen/reduzieren over-fitting
ob es verarbeiten kann unvollständige Daten
Die große Entscheidung-Baum-Implementierungen sind:
ID3 -oder Iterative Dichotomizer, war die erste von drei Entscheidungsbaum
Implementierungen entwickelt von Ross Quinlan (Quinlan, J. R. 1986. Induktion von Entscheidungsbäumen. Mach. Lernen. 1, 1 (Mar. 1986), 81-106.)
WARENKORBoder Classification And Regression Trees wird oft als eine generische
Akronym für den Begriff Entscheidungsbaum, obwohl es offenbar eine spezifischere Bedeutung. In Summe, wird der WARENKORB die Umsetzung ist sehr ähnlich wie C4.5; die einzige Bemerkenswerte Unterschied ist, dass CART Konstrukte der Baum basiert auf einer numerischen splitting-Kriterium rekursiv auf die Daten angewendet wird, in der Erwägung, dass C4.5 enthält die intermediate Schritt des Konstruierens Regelwerks.
C4.5Quinlan ' s nächste iteration. Die neuen features (im Vergleich zu ID3):
(i) nimmt sowohl für kontinuierliche als auch diskrete Funktionen; (ii) behandelt
unvollständige Daten Punkte; (iii) löst over-fitting-problem durch (sehr
clever) bottom-up-Technik, die in der Regel bekannt als "beschneiden"; und (iv)
verschiedene GEWICHTE angewendet werden können die Funktionen, die umfassen
Trainingsdaten. Dieser, der erste drei sind sehr wichtig-und ich würde vorschlagen, dass alle DT-Implementierung, die Sie wählen, hat alle drei. Die vierte (differential-Gewichtung), ist viel weniger wichtig
C5.0die jüngsten Quinlan iteration. Diese Implementierung ist
abgedeckt durch ein patent und wohl, als ein Ergebnis, wird selten umgesetzt
(außerhalb der kommerziellen software-Pakete). Ich habe noch nie codiert eine C5.0
die Umsetzung selbst (ich habe noch nie gesehen, den source-code), so kann ich nicht bieten eine fundierte Vergleich von C5.0 gegen C4.5. Ich habe immer
war skeptisch über die Verbesserungen, die behauptet, von seinem Erfinder (Ross
Quinlan)--zum Beispiel, er behauptet, es sei "um mehrere Größenordnungen"
schneller als der C4.5. Weitere Ansprüche sind ähnlich breites ("deutlich mehr Speicher effizient") und so weiter. Ich werde nur zeigen Ihnen, Studien
das ist das Ergebnis des Vergleichs der beiden Techniken und können Sie für sich selbst entscheiden.
CHAID (chi-square automatic interaction detector) tatsächlich älter als
die original ID3-Umsetzung von über sechs Jahren (veröffentlicht in einem
Ph. D.-these von Gordon Kass 1980). Ich kenne jede wenig über diese Technik.Die R-Plattform ist ein Paket namens CHAID die
enthält ausgezeichnete Dokumentation
MARS (multi-adaptive regression splines) ist eigentlich ein Begriff, der markenrechtlich geschützt durch den ursprünglichen Erfinder des MARS, Salford Systems. Als
Ergebnis, MARS Klone in den Bibliotheken nicht verkauft Salford benannt sind etwas anderes als MARS--z.B. in R, die entsprechende Funktion ist polymars im poly-spline-Bibliothek. Matlab und Statistica auch haben
Implementierungen mit MARS-Funktionalität
Ich würde empfehlen, den KARREN oder das C4.5 (obwohl wieder, ich habe keine direkte Erfahrung mit C5.0 oder mit CHAID, aber ich bin vertraut mit Ihren feature-sets).
C4.5 ist der Entscheidungsbaum Geschmack umgesetzt Orange; WARENKORB ist der Geschmack in sklearn - beide hervorragende Implementierungen in ausgezeichneter ML Bibliotheken.
C4.5 ist ein wichtiger Schritt, über ID3-sowohl in Bezug auf die Bereich (C4.5 hat einen weit breiteren use-case-Spektrum, denn es kann mit kontinuierlichen Variablen in den Trainingsdaten) und in Bezug auf Modell Qualität.
Vielleicht das wichtigste, behauptete Verbesserung der C5.0 gegen C4.5 ist die Unterstützung für verstärkt Bäume. Ensemble support für DTs--boosted trees und Random Forests--wurde in die DT Umsetzung in Orange; hier, ensemble-Unterstützung wurde Hinzugefügt, um einen C4.5-Algorithmus. sklearn verfügt auch über eine Reihe von random forest und boosting-Methoden.
InformationsquelleAutor der Antwort doug