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
Anleitung zur Übung
- Importiere:
train_test_splitaussklearn.model_selection.DecisionTreeClassifieraussklearn.tree.
- Erstelle Trainings- und Testsätze so, dass 20 % der Daten für das Testen verwendet werden. Nutze einen
random_statevon123. - Instanziiere einen
DecisionTreeClassifiermit dem Namendt_clf_4und einemmax_depthvon4. 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)