Entscheidungsbaum vs. Naive Bayes Klassifikator
Ich mache einige der Forschung über die verschiedenen data-mining-Techniken und stieß auf etwas, dass ich konnte nicht herausfinden.
Wenn einer eine Idee haben, dass wäre toll.
In welchen Fällen ist es besser, verwenden Sie einen Entscheidungsbaum und anderen Fällen wird ein Naive Bayes-Klassifikator?
Warum verwenden Sie eine von Ihnen in bestimmten Fällen? Und die anderen in verschiedenen Fällen?
(Suchen Sie in Ihrer Funktionalität, nicht auf den Algorithmus)
Jemand ein paar Erklärungen oder Hinweise dazu?
InformationsquelleAutor der Frage Youssef | 2012-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entscheidung, die Bäume sind sehr flexibel, einfach zu verstehen und einfach zu Debuggen. Arbeiten Sie mit der Klassifizierung von Problemen und regression Probleme. Also, wenn Sie versuchen, vorherzusagen, eine kategorische Wert (rot, grün, oben, unten) oder wenn Sie versuchen, um vorherzusagen, einen kontinuierlichen Wert wie 2.9, 3.4 etc Entscheidungsbäumen behandelt sowohl Probleme. Wahrscheinlich eines der coolsten Dinge über Entscheidungsbäumen ist, dass Sie brauchen nur eine Tabelle von Daten und bauen Sie ein Klassifikator direkt aus, dass Daten, die ohne up-front design-Arbeit stattfinden. Bis zu einem gewissen Grad Eigenschaften, die nicht wichtig sind werden nicht gewählt, so spaltet und erhalten schließlich beschnitten, so dass es sehr tolerant von Unsinn. Zu starten, es einrichten und vergessen es.
Jedoch die Kehrseite der Medaille. Einfache Entscheidungsbäume neigen dazu, über den Trainingsdaten passen mehr, so dass andere Techniken, die bedeutet, dass Sie in der Regel zu tun haben, Baumpfleger und Stimmen Sie die Beschneidung Verfahren. Sie hatten keine upfront-design-Preis, aber Sie zahlen es zurück auf tuning die Bäume Leistung. Auch einfache Entscheidungsbäume unterteilen die Daten in Quadrate, so dass Gebäude-Cluster rund um die Dinge bedeutet, es hat split viel zu umfassen Clustern von Daten. Die Aufteilung einer Menge führt zu komplexen Bäumen und erhöht die Wahrscheinlichkeit, die Sie sind overfitting. Hohe Bäume beschnitten zurück, so dass, während Sie können, bauen Sie einen cluster um einige feature in die Daten, die er vielleicht nicht überleben den Prozess des beschneidens. Es gibt auch andere Techniken wie Surrogat-splits denen Sie split entlang mehrere Variablen auf einmal zu schaffen-splits in den Raum, die nicht entweder waagerecht oder senkrecht ( 0 < Hang < unendlich ). Cool, aber Ihr Baum beginnt zu schwieriger geworden, Sie zu verstehen und Ihre komplexen zum implementieren dieser algorithmen. Andere Techniken wie boosting und random forest Entscheidungsbäume führen ganz gut, und manche fühlen sich diese Techniken sind unerlässlich, um die beste Leistung aus der Entscheidungsbäume. Wieder dieses fügt weitere Dinge zu verstehen und zu verwenden, die Optimierung der Struktur und damit mehr Dinge zu implementieren. Am Ende der mehr wir hinzufügen, um den Algorithmus, mit dem die größer die Barriere zu verwenden.
Naive Bayes-Verfahren erfordert, dass Sie bauen eine Klassifikation von hand. Es gibt keine Möglichkeit, nur werfen einen Haufen von tabellarischen Daten an und haben es bei der Auswahl der besten features, die es verwenden, um zu klassifizieren. Kommissionierung, welche Funktionen die Sache ist bis zu Ihnen. Entscheidungen Bäumen Holen Sie sich die besten features für Sie von tabellarischen Daten. Wenn es eine Möglichkeit für Naive Bayes-pick Funktionen die man immer in der Nähe mit den gleichen Techniken zu machen, dass Entscheidungsbäume, so funktioniert. Geben diese Tatsache, die bedeutet, dass Sie brauchen, um zu kombinieren Naive Bayes mit anderen statistischen Techniken zu helfen, begleiten Sie auf, welche Funktionen am besten zu klassifizieren, und die Verwendung von Entscheidungsbäumen. Naive bayes wird die Antwort als eine kontinuierliche Klassifizierer. Es gibt Techniken, um eine Anpassung an kategorische Vorhersage aber Sie werden die Antwort in Bezug auf die Wahrscheinlichkeiten wie in (90%, B 5%, C, 2.5% D 2,5%) in der Bayes-kann ausführen sehr gut, und es nicht mehr passen-fast so viel, so gibt es keine Notwendigkeit zu beschneiden oder Prozess im Netzwerk. Das macht Sie einfacher algorithmen zu implementieren. Sie sind jedoch schwieriger zu Debuggen und zu verstehen, weil es alle Wahrscheinlichkeiten immer multipliziert 1000 ' s mal, so dass Sie müssen vorsichtig sein, zu testen, zu tun, was Sie erwarten. Naive bayes macht sich ganz gut, wenn die Trainings-Daten enthalten nicht alle Möglichkeiten, so kann es sehr gut mit geringen Mengen von Daten. Entscheidung Bäume besser arbeiten mit vielen Daten im Vergleich zu Naiven Bayes.
Naive Bayes ist eine Menge, in der Robotik und computer vision, und macht sich ganz gut mit diesen Aufgaben. Entscheidung Bäume sehr schlecht in solchen Situationen. Lehre einen Entscheidungsbaum zu erkennen poker Hände schaut man Millionen von poker-Händen sehr schlecht, weil royal flushes und quads Auftritt, so wenig wird oft beschnitten. Wenn es beschnitten werden aus der resultierenden Struktur wird es misclassify diejenigen wichtig, die Hände (recall hohen Bäumen Diskussion von oben). Nun denken Sie nur, wenn Sie versuchen, zu diagnostizieren Krebs mit dieser. Krebs nicht auftreten, in der die Bevölkerung in großen Mengen, und Sie wird beschnitten-aus eher. Die gute Nachricht ist, das kann behandelt werden, indem Sie mit gewichten, so dass wir Gewicht eine gewinnende hand oder mit Krebserkrankungen höher als bei einem Verlust der hand oder nicht Krebs und steigert es auf den Baum, damit Sie nicht beschnitten werden. Das ist wieder der Teil der Feinabstimmung der resultierenden Struktur der situation, in der ich früher diskutiert.
Entscheidung, die Bäume sind ordentlich, weil Sie Ihnen sagen, was Eingaben sind die besten predicators der Ausgänge, so oft decision trees können Sie finden, wenn es eine statistische Beziehung zwischen einem Eingang an den Ausgang, und wie stark die Beziehung ist. Oft ist die resultierende Entscheidungsbaum ist weniger wichtig als die Beziehungen, die es beschreibt. So Entscheidungsbäume verwendet werden, ein Forschungs-tool, wie Sie mehr über Ihre Daten, so dass Sie bauen können andere Klassifizierungen.
Wenn Sie dicing zwischen der Verwendung von Entscheidungsbäumen vs. naive bayes ein problem zu lösen, oft ist es am besten zu testen. Bauen Sie einen Entscheidungsbaum und bauen ein naive bayes-Klassifizierer haben dann ein shoot-out mit dem training und zur Validierung der Daten, die Sie haben. Was immer am besten abschneidet wird eher besser in dem Bereich. Und es ist immer eine gute Idee, Darsteller jedes dieser gegen K-nearest neighbor (KNN) Prädiktoren weil k-nearest hat sich gezeigt, besser als die beiden von Ihnen in einigen Situationen, und KNN ist, einen einfachen Algorithmus zu implementieren und zu verwenden. Wenn KNN besser abschneidet als die anderen beiden mit ihm zu gehen.
Einige Quellen:
Handbuch auf der CART-basierten decision trees. Dieses Buch deckt den CART-Algorithmus, sondern erörtert auch decision trees, GEWICHTE, fehlende Werte, Surrogat-splits, Förderung, etc.
http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418
Einer sanfteren intro zum WARENKORB
https://www.youtube.com/watch?v=p17C9q2M00Q
Vergleich der algorithmen - bemerken, dass die KNN, Decision Trees, C4.5, und der SVM gut auf die meisten tests.
http://www4.ncsu.edu/~arezaei2/Papier/JCIT4-184028_Camera%20Ready.pdf
Einen Vergleich von algorithmen - Boosted Decision Trees und random ganz oben auf der Liste mit KNN in der Mitte:
http://www.cs.cornell.edu/~caruana/ctp/ct.Papiere/caruana.icml06.pdf
Anderen guten Lauf nach unten von verschiedenen Techniken:
http://www.quora.com/What-are-the-advantages-of-different-classification-algorithms
InformationsquelleAutor der Antwort chubbsondubs