Es hat lange gedauert, bis ich sicher war, diese
Thematik in etwa verstanden zu haben.
Insgesamt ist dieses Thema sehr um fangreich und kompliziert.
Für mich als Anfänger nur ein Scgnupperkurs.
Hier eine Darsllung der confusion matrix
als Ereignisbaum.
OSWALD
Code: Alles auswählen
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
#Laden des Iris-Datensatzes
iris = load_iris()
X = iris.data
y = iris.target
#Aufteilung der Daten in Trainings- und Testsets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=1)
#Erstellen des Entscheidungsbaum-Klassifikators
clf = DecisionTreeClassifier(criterion='gini', max_depth=None, random_state=1)
#Trainieren des Modells
clf.fit(X_train, y_train)
#Vorhersagen auf dem Testset
y_pred = clf.predict(X_test)
#Bewertung der Modellleistung
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
#Ausgabe der Confusion Matrix und des Klassifikationsberichts
print("Confusion Matrix:")
print(confusion_matrix(y_test, y_pred))
print("Classification Report:")
print(classification_report(y_test, y_pred))
import matplotlib.pyplot as plt
from sklearn.tree import plot_tree
# Visualisierung des Entscheidungsbaums
plt.figure(figsize=(15, 10))
plot_tree(clf, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
plt.show()