[PYTHON] Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums

Zusammenfassung des Entscheidungsbaums

Was ist ein Entscheidungsbaum?

Der Entscheidungsbaum ist eine Methode, um Bedingungen nacheinander für Daten zu definieren und sie nach jeder Bedingung zu klassifizieren. In der folgenden Abbildung versuche ich zu entscheiden, ob ich Windsurfen möchte oder nicht. Also kategorisieren wir zuerst nach der Stärke des Windes und dann danach, ob es sonnig ist oder nicht.

Dieses Modell auf der rechten Seite wird als Entscheidungsbaum bezeichnet. Im Entscheidungsbaum wird, wie in der Abbildung links gezeigt, durch mehrmalige lineare Klassifizierung klassifiziert.

Screen Shot 2017-05-09 at 11.39.46.png Extracted by 'Introduction to Machine Learning', Udacity

Übrigens scheint der Entscheidungsbaum eine Regression und Klassifizierung zu haben, aber dieses Mal werde ich über die Klassifizierung sprechen.

Standardcode

python



DecisionTreeClassifier(criterion='gini', splitter='best', max_depth=None, 
min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, 
max_features=None, random_state=None, max_leaf_nodes=None, 
min_impurity_split=1e-07, class_weight=None, presort=False)


Beschreibung des Parameters im Entscheidungsbaum

Es hat viele Inhalte. Im Folgenden werden nur die wichtigsten erläutert.

Wenn min_samples_split = 2 ist und der Wert des Verzweigungsziels 2 oder mehr beträgt, wird die Verzweigung fortgesetzt. In der folgenden Abbildung hat der vom hellblauen Kreis umgebene Bereich mehr als 2 Stichproben, sodass die Verzweigung fortgesetzt wird. Abhängig von der Anzahl der Proben besteht jedoch eine hohe Wahrscheinlichkeit eines Übertrainings, sodass eine Anpassung erforderlich ist. Screen Shot 2017-05-09 at 12.35.35.png Extracted from 'Introduction to Machine Learning', Udacity

Geben Sie an, wie die Daten mit'gini 'oder'entropy' aufgeteilt werden sollen.

'gini': Je niedriger die Reinheit (gini-Koeffizient) des k-ten Klassifizierungsziels ist, desto besser. Verwenden Sie 'Entropie': Informationsgewinn, um die effizientesten Bedingungen zu finden. Es scheint, dass es keinen großen Unterschied gibt, aber die Details sind hier und hier. blog / sklearn-gini-vs-entropy-kriterien)

Dies bestimmt und begrenzt die maximale Tiefe des Entscheidungsbaums, um ein Überlernen zu verhindern.

Entscheidungsbaum-Visualisierung (für Iris-Set)

python




from IPython.display import Image  
dot_data = tree.export_graphviz(clf, out_file=None, 
                     feature_names=iris.feature_names, 
                     class_names=iris.target_names,  
                     filled=True, rounded=True,  
                     special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data)  
Image(graph.create_png())  

Screen Shot 2017-05-09 at 11.00.27.png

The image and the code are extracted from 'Sklearn document'

So verhindern Sie das Überlernen von Entscheidungsbäumen

Die Vor- und Nachteile von Decision Tree.

Während andere Algorithmen eine Datennormalisierung und die Erstellung von Dummy-Variablen erfordern, erfordert Decision Tree nur eine geringe Verarbeitung vor Ort, um kategoriale und numerische Daten zu verarbeiten. Da es wie oben dargestellt werden kann, können Sie auch sehen, dass es sich um einen sehr leicht verständlichen Algorithmus handelt.

--Schlechter Punkt

Leicht zu überlernen. Daten werden durch vertikale und horizontale gerade Linien klassifiziert. Wenn die Daten also nicht durch eine Grenzlinie parallel zur Achse getrennt werden können, können sie nicht gut klassifiziert werden.

Zusammenfassung

Das Obige ist der Umriss des Entscheidungsbaums, soweit ich verstehen kann. Wir werden es täglich aktualisieren. Wenn Sie also etwas hinzufügen oder reparieren müssen, würden wir uns freuen, wenn Sie einen Kommentar abgeben könnten.

Recommended Posts

Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums
Maschinelles Lernen: Überwacht - Entscheidungsbaum
Maschinelles Lernen ⑤ AdaBoost-Zusammenfassung
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
Grundlagen des maschinellen Lernens (Denkmal)
Maschinelles Lernen ② Naive Bayes Zusammenfassung
Zusammenfassung der Artikel zum maschinellen Lernen (selbst verfasst)
Bedeutung von Datensätzen für maschinelles Lernen
Maschinelles Lernen ④ K-nächster Nachbar Zusammenfassung
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Bedeutung des maschinellen Lernens und des Mini-Batch-Lernens
[Maschinelles Lernen] Lassen Sie uns den Entscheidungsbaum studieren
Maschinelles Lernen ① SVM-Zusammenfassung (Support Vector Machine)
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Maschinelles Lernen
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
Zusammenfassung der bisher veröffentlichten Artikel (Statistik / Maschinelles Lernen / Mathematik usw.)
Zusammenfassung der empfohlenen APIs für künstliche Intelligenz, maschinelles Lernen und KI
scikit-learn Verwendung der Zusammenfassung (maschinelles Lernen)
[Maschinelles Lernen] FX-Vorhersage unter Verwendung des Entscheidungsbaums
2020 Empfohlen 20 Auswahlmöglichkeiten für einführende Bücher zum maschinellen Lernen
Algorithmus für maschinelles Lernen (Implementierung einer Klassifizierung mit mehreren Klassen)
Zusammenfassung der Klassifizierung und Implementierung von Algorithmen für maschinelles Lernen
[Maschinelles Lernen] Liste der häufig verwendeten Pakete
Algorithmus für maschinelles Lernen (Zusammenfassung und Regularisierung der linearen Regression)
[Maschinelles Lernen] Zusammenfassung und Ausführung der Modellbewertung / Indikatoren (mit Titanic-Datensatz)
Entscheidungsbaum (load_iris)
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Beispiel für maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 1
Beginn des maschinellen Lernens (empfohlene Unterrichtsmaterialien / Informationen)
Maschinelles Lernen des Sports - Analyse der J-League als Beispiel - ②
Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Numerai Turnier-Fusion von traditionellen Quants und maschinellem Lernen-
Python & Machine Learning Study Memo Introduction: Einführung in die Bibliothek
Vollständige Offenlegung der beim maschinellen Lernen verwendeten Methoden
Liste der Links, die Anfänger des maschinellen Lernens lernen
Überblick über maschinelle Lerntechniken, die aus Scikit-Learn gelernt wurden
Über die Entwicklungsinhalte des maschinellen Lernens (Beispiel)
Analyse der gemeinsamen Raumnutzung durch maschinelles Lernen
[Übersetzung] scikit-learn 0.18 Einführung in maschinelles Lernen durch Tutorial scikit-learn
Maschinelles Lernen eines jungen Ingenieurs Teil 2
Angemessene Preisschätzung von Mercari durch maschinelles Lernen
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Anordnung von selbst erwähnten Dingen im Zusammenhang mit maschinellem Lernen
Kausales Denken mit maschinellem Lernen (Organisation von Methoden des kausalen Denkens)
Wichtige Punkte von "Maschinelles Lernen mit Azure ML Studio"
Maschinelles Lernen Über Overlearning
Zusammenfassung der runden Lesesitzungen der professionellen Serie für maschinelles Lernen
Tensorflow / Keras-Zusammenfassung
[Empfohlenes Tagging beim maschinellen Lernen # 2] Erweiterung des Scraping-Skripts
[Empfohlenes Tagging beim maschinellen Lernen # 2.5] Änderung des Scraping-Skripts
Maschinelles Lernen: Betreut --AdaBoost