[PYTHON] Erstellen eines bestimmten Baums mit Scikit-Learn

Ich habe mit Weka einen Entscheidungsbaum erstellt, aber es war mühsam, die Daten arff zu machen. Ich habe einen Entscheidungsbaum mit der Python-Bibliothek für maschinelles Lernen scikit-learn erstellt. Ich wollte es benutzen Die Installation von Scikit-Learn wird auf anderen Websites höflich gelehrt

Das Entscheidungsbaumobjekt selbst ist ziemlich einfach zu erstellen. Installieren Sie Graphviz mit Brew (Mac) Weil die Bibliothek namens Pyparsing aktualisiert wurde Wenn du zeichnen willst

sudo pip install -U pydot pyparsing==1.5.7

Bitte downgraden Ich verstehe Windows nicht (leise Stimme)

tree_ex.py


#-*-coding:utf-8 -*-

#Nullwert kann nicht verwendet werden → Was soll ich tun?
# yes,nein ist 1,-1
#Zeichen können nicht verwendet werden
from sklearn import tree
from sklearn.externals.six import StringIO
import pydot

if __name__ == '__main__':

    X = [
        [0,1],
        [0,-1],
        [1,1]
        ]
    Y = [1,2,3] #Entspricht in der Reihenfolge von oben
    clf = tree.DecisionTreeClassifier()
    clf = clf.fit(X,Y) #Dies vervollständigt das Entscheidungsbaumobjekt

    #Magie zum Zeichnen
    dot_data = StringIO()
    tree.export_graphviz(clf,out_file = dot_data)
    graph = pydot.graph_from_dot_data(dot_data.getvalue())
    graph.write_pdf("tree_ex.pdf")
    
    #pre = clf.predict([0,1])
    #print pre #Das Ergebnis ist 1

X sind die Daten und Y ist die Bezeichnung für jede Daten. Massendocking von X und Y mit der Anpassungsfunktion (möglicherweise)

Wenn die Anpassungsfunktion angewendet wird, ist clf ein Entscheidungsbaumobjekt und ein Klassifizierer. Mit der auskommentierten Vorhersagefunktion können Sie klassifizieren, zu welcher Klasse die neuen Daten gehören.

Danach sollte es eine Magie sein, Pydot aufzurufen und zu zeichnen.

Das obige Zeichnungsergebnis sieht folgendermaßen aus

tree_ex.png

Wekas Entscheidungsbaum ist schwer zu sehen. Als ich versuchte, mit Python einen Entscheidungsbaum zu erstellen, wurde es so. Das Erstellen eines Entscheidungsbaums selbst ist sehr einfach. Es ist leicht zu sehen

・ Keine Verzweigungsbedingungen (können aufgrund mangelnder Fähigkeiten nicht ausgestellt werden)

・ Fragebögen mit 1, 2 oder 3 Arten von Antworten in einem Punkt können nicht sortiert werden (Ja und Nein können mit [1, -1] realisiert werden)

・ Nullwert ・ Akzeptieren Sie keine Zeichenfolgen

Im Moment habe ich das Gefühl, dass Weka einfacher zu bedienen ist. Soll ich eine Argumentoption hinzufügen? .. ..

Recommended Posts

Erstellen eines bestimmten Baums mit Scikit-Learn
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Was ist ein Entscheidungsbaum?
Erstellen eines Flask-Servers mit Docker
Erstellen einer einfachen Power-Datei mit Python
Erstellen eines Anmeldebildschirms in Django all auth
Implementieren Sie einen minimalen selbst erstellten Schätzer mit scikit-learn
Visualisieren Sie den Entscheidungsbaum von Scikit-Learn mit Plotlys Treemap
2. Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (2. Grundlagen des Python-Programms)
Isomap mit Scikit-lernen
Entscheidungsbaum (Klassifikation)
DBSCAN mit Scikit-Learn
Clustering mit Scikit-Learn (1)
Clustering mit Scikit-Learn (2)
PCA mit Scikit-Learn
Machen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (4. Datenstruktur)
kmeans ++ mit scikit-learn
Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (5. Information Entropy)
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen einer Lambda-Funktion
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Ablauf beim Erstellen einer virtuellen Umgebung mit Anaconda
Versuchen Sie, ein FizzBuzz-Problem mit einem Shell-Programm zu erstellen
Kreuzvalidierung mit Scikit-Learn
Rückblick auf die Erstellung eines Webdienstes mit Django 1
A4 Größe mit Python-Pptx
Mehrklassen-SVM mit Scikit-Learn
Ich habe mit Python ein Weihnachtsbaum-Beleuchtungsspiel gemacht
Clustering mit scikit-learn + DBSCAN
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
Scikit-Lernen mit Chemoinfomatik
Zeichnen einer Baumstruktur mit D3.js in Jupyter Notebook
Probleme beim Erstellen eines CSV-JSON-Konvertierungstools mit Python
Erstellung von Schabewerkzeugen
Rückblick auf die Erstellung eines Webdienstes mit Django 2
2. Multivariate Analyse in Python 7-1. Entscheidungsbaum (Scikit-Learn)
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen
Erstellen eines Dataset Loader
DBSCAN (Clustering) mit Scikit-Learn
Aktuelles Verzeichnis beim Erstellen eines neuen Verzeichnisses mit Jupyter
Hinweise zum Erstellen einer virtuellen Umgebung mit Anaconda Navigator
Mit Dekorateur dekorieren
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen eines Python-Skripts
Installieren Sie scikit.learn mit pip
Berechnen Sie tf-idf mit scikit-learn
Erstellen Sie mit Python einen Entscheidungsbaum aus 0 und verstehen Sie ihn (3. Datenanalysebibliothek Pandas Edition)
Visualisieren Sie die Ergebnisse von Entscheidungsbäumen, die mit Python scikit-learn erstellt wurden
Der erste Schritt beim Erstellen einer serverlosen Anwendung mit Zappa
Führen Sie (Visualisierung> Clustering> Funktionsbeschreibung) mit (t-SNE, DBSCAN, Entscheidungsbaum) durch.
So einfach wie möglich eine GUI mit Python erstellen [tkinter edition]
Scikit-Lernentscheidung Generieren Sie Python-Code aus Baum- / Waldstrukturregeln
(Für Anfänger) Versuchen Sie, mit Django eine einfache Web-API zu erstellen
Lernen Sie Librosa mit einem Tutorial 1
Zeichnen Sie mit NetworkX ein Diagramm
Neuronales Netzwerk mit Python (Scikit-Learn)
Versuchen Sie, mit einer Shell zu programmieren!