LoslegenKostenlos loslegen

Entscheidungsbäume

Deine Aufgabe in dieser Übung ist es, einen einfachen Entscheidungsbaum mit dem DecisionTreeClassifier aus scikit-learn auf dem breast cancer-Datensatz zu erstellen, der in scikit-learn vorinstalliert ist.

Dieser Datensatz enthält numerische Messungen verschiedener Merkmale einzelner Tumoren (z. B. Umfang und Textur) aus Brustbiopsien sowie einen einzelnen Zielwert (der Tumor ist entweder bösartig oder gutartig).

Wir haben die Stichprobendaten (Messungen) in X und die Zielwerte pro Tumor in y vorab geladen. Jetzt musst du den vollständigen Datensatz in Trainings- und Testmengen aufteilen und anschließend einen DecisionTreeClassifier trainieren. Dabei gibst du einen Parameter namens max_depth an. Viele andere Parameter können in diesem Modell angepasst werden; alle findest du hier.

Diese Übung ist Teil des Kurses

Extreme Gradient Boosting mit XGBoost

Kurs anzeigen

Anleitung zur Übung

  • Importiere:
    • train_test_split aus sklearn.model_selection.
    • DecisionTreeClassifier aus sklearn.tree.
  • Erstelle Trainings- und Testsätze so, dass 20 % der Daten für das Testen verwendet werden. Nutze einen random_state von 123.
  • Instanziiere einen DecisionTreeClassifier mit dem Namen dt_clf_4 und einem max_depth von 4. Dieser Parameter gibt die maximale Anzahl aufeinanderfolgender Aufteilungspunkte an, bevor ein Blattknoten erreicht wird.
  • Fitte den Klassifikator auf den Trainingssatz und sage die Labels des Testsatzes voraus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Import the necessary modules
____
____

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____)

# Instantiate the classifier: dt_clf_4
dt_clf_4 = ____

# Fit the classifier to the training set
____

# Predict the labels of the test set: y_pred_4
y_pred_4 = ____

# Compute the accuracy of the predictions: accuracy
accuracy = float(np.sum(y_pred_4==y_test))/y_test.shape[0]
print("accuracy:", accuracy)
Code bearbeiten und ausführen