Svampar: en fråga om liv och död
Låt oss avsluta kursen med att återvända till problemet med svampars ätlighet. Du ska prova stackning för att se om resultatet kan förbättras. Eftersom stackning använder en meta-estimator (klassificerare i det andra lagret) som försöker korrigera förutsägelserna från det första lagret, kan en del felklassificerade instanser rättas till. Det här är ett viktigt problem – ätligheten hos en svamp är bokstavligen en fråga om liv och död.
Datamängden har lästs in och delats upp i tränings- och testuppsättningar. Tror du att stackning kan bidra till att förutsäga svampars ätlighet med större säkerhet?
Den här övningen är en del av kursen
Ensemblemetoder i Python
Övningsinstruktioner
- Instansiera estimatorerna i det första lagret: en 5-närmaste-grannar-klassificerare med ball tree-algoritmen, en beslutsträdsklassificerare med parametrarna
min_samples_leaf = 5ochmin_samples_split = 15, samt en Gaussian Naive Bayes-klassificerare. - Bygg och anpassa en stackningsklassificerare med parametrarna
classifiers– en lista med klassificerarna i det första lagret – ochmeta_classifier– standardlogistisk regression.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))))