Einführung
In diesem Lab werden wir lernen, wie man Entscheidungsbäume (Decision Trees) für die Klassifizierung mit scikit-learn verwendet. Entscheidungsbäume sind eine nicht-parametrische überwachte Lernmethode, die für Klassifizierung und Regression eingesetzt wird. Sie sind einfach zu verstehen und zu interpretieren und können sowohl numerische als auch kategorische Daten verarbeiten.
Tipps zur virtuellen Maschine (VM)
Nachdem die virtuelle Maschine gestartet wurde, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und auf Jupyter Notebook für die Übung zuzugreifen.
Manchmal müssen Sie möglicherweise einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Aufgrund von Einschränkungen in Jupyter Notebook kann die Validierung von Vorgängen nicht automatisiert werden.
Wenn Sie während des Lernens Probleme haben, können Sie sich gerne an Labby wenden. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie umgehend beheben.
Importieren der erforderlichen Bibliotheken
Zunächst müssen wir die erforderlichen Bibliotheken importieren. Wir werden scikit-learn verwenden, um den Entscheidungsbaum-Klassifikator (Decision Tree classifier) zu erstellen und zu trainieren.
from sklearn import tree
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
Laden des Datensatzes
Als nächstes werden wir den Iris-Datensatz laden. Dieser Datensatz enthält Informationen über vier Merkmale von drei verschiedenen Arten von Irisblumen. Wir werden diesen Datensatz verwenden, um unseren Entscheidungsbaum-Klassifikator (Decision Tree classifier) zu trainieren.
## Load the Iris dataset
iris = load_iris()
X = iris.data
y = iris.target
Aufteilen des Datensatzes
Bevor wir den Entscheidungsbaum-Klassifikator (Decision Tree classifier) trainieren, müssen wir den Datensatz in Trainings- und Testdatensätze aufteilen. Wir werden 70 % der Daten zum Training und 30 % zum Testen verwenden.
## Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
Erstellen und Trainieren des Entscheidungsbaum-Klassifikators
Jetzt können wir den Entscheidungsbaum-Klassifikator (Decision Tree classifier) mit den Trainingsdaten erstellen und trainieren.
## Create a Decision Tree classifier
clf = tree.DecisionTreeClassifier()
## Train the classifier
clf.fit(X_train, y_train)
Vorhersagen treffen
Sobald der Klassifikator trainiert ist, können wir ihn verwenden, um Vorhersagen für die Testdaten zu treffen.
## Make predictions on the test data
y_pred = clf.predict(X_test)
## Print the predicted values
print("Predicted values:", y_pred)
Bewertung des Modells
Schließlich können wir die Genauigkeit unseres Modells bewerten, indem wir die vorhergesagten Werte mit den tatsächlichen Werten vergleichen.
## Calculate the accuracy of the model
accuracy = accuracy_score(y_test, y_pred)
## Print the accuracy
print("Accuracy:", accuracy)
Zusammenfassung
In diesem Lab haben wir gelernt, wie man Entscheidungsbäume (Decision Trees) mit scikit-learn für Klassifizierungsaufgaben verwendet. Wir haben den Iris-Datensatz geladen, die Daten in Trainings- und Testdatensätze aufgeteilt, den Entscheidungsbaum-Klassifikator erstellt und trainiert, Vorhersagen für die Testdaten getroffen und die Genauigkeit des Modells bewertet. Entscheidungsbäume sind eine leistungsstarke und interpretierbare Methode für Klassifizierungsaufgaben.