Decision Trees Entscheidungsbäume werden beim Machine Learning genutzt, um zum Beispiel Klassifizierungen von Daten vorzunehmen. In folgendem Beispiel wollen wir mit dem Python Modul scikit-learn ein Programm schreiben, welches anhand der Körpergröße und der Haarlänge entscheidet, ob man ein Mann oder eine Frau ist. from sklearn import tree from sklearn.model_selection import train_test_split # Größe und Haarlänge von 25 Personen X=[[165,19],[175,32],[136,35],[174,65],[141,28],[176,15],[131,32],[166,6],[128,32],[179,10],[136,34],[186,2],[126,25],[176,28],[112,38],[169,9],[171,36],[116,25],[196,25], [196,38], [126,40], [197,20], [150,25], [140,32],[136,35]] # Passendes Geschlecht zu den 25 Personen Y=['Man','Woman','Woman','Man','Woman','Man','Woman','Man','Woman','Man','Woman','Man','Woman','Woman','Woman','Man','Woman','Woman','Man', 'Woman', 'Woman', 'Man', 'Man', 'Woman', 'Woman'] DTclf = tree.DecisionTreeClassifier() DTclf = DTclf.fit(X,Y) testPerson = [[160,50]] prediction = DTclf.predict(testPerson) print(prediction) # Plot Data import matplotlib.pyplot as plt import numpy as np numpyX = np.array(X) height = numpyX[:,0] hair_length = numpyX[:,1] gender = np.array(Y) fig, ax = plt.subplots() fig.set_figheight(10) fig.set_figwidth(10) colors = {'Man':'blue', 'Woman':'red'} for g in np.unique(gender): index = np.where(gender == g) ax.scatter(height[index], hair_length[index], c=colors[g], label = g) plt.legend() plt.show() Die Variable „testPerson“ bekommt einen Größen- und einen Haarlängenwert und wird der „predict()“ Methode übergeben. Das ist die Ausgabe mit den Daten im Diagramm. Der Entscheidungsbaum gibt bei einer Größe von 160cm und einer Haarlänge von 50cm zurück, dass die Werte zu einer Frau gehören müssten. Links: Decision and Classification Trees, Clearly Explained!!! (Video)scikit-learn unsere-schule.org × Decision Trees Code: Infos: unsere-schule Codes