Pilze: eine Frage von Leben oder Tod
Lass uns den Kurs abschließen, indem wir das Problem der Pilzverzehrbarkeit noch einmal aufgreifen. Du probierst den Stacking-Classifier aus, um zu sehen, ob sich der Score verbessern lässt. Da Stacking einen Meta-Schätzer (Klassifikator der zweiten Ebene) nutzt, der versucht, die Vorhersagen der ersten Ebene zu korrigieren, könnten einige der fehlklassifizierten Fälle berichtigt werden. Das ist ein sehr wichtiges Problem, denn die Verzehrbarkeit eines Pilzes ist eine Frage von Leben oder Tod.
Der Datensatz wurde geladen und in Trainings- und Test-Set aufgeteilt. Meinst du, Stacking kann helfen, die Verzehrbarkeit eines Pilzes mit größerer Sicherheit vorherzusagen?
Diese Übung ist Teil des Kurses
Ensemble-Methoden in Python
Anleitung zur Übung
- Instanziiere die Schätzer der ersten Ebene: einen 5-Nearest-Neighbors mit dem Ball-Tree-Algorithmus, einen Entscheidungsbaum-Classifier mit den Parametern
min_samples_leaf = 5undmin_samples_split = 15sowie einen Gaussian Naive Bayes-Classifier. - Baue und fitte einen Stacking-Classifier mit den Parametern
classifiers– eine Liste, die die Klassifikatoren der ersten Ebene enthält – undmeta_classifier– die standardmäßige logistische Regression.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create the first-layer models
clf_knn = ____
clf_dt = ____(____, ____, random_state=500)
clf_nb = ____
# Create the second-layer model (meta-model)
clf_lr = LogisticRegression()
# Create and fit the stacked model
clf_stack = ____
clf_stack.fit(X_train, y_train)
# Evaluate the stacked model’s performance
print("Accuracy: {:0.4f}".format(accuracy_score(y_test, clf_stack.predict(X_test))))