Ciuperci: o chestiune de viață și de moarte
Să încheiem cursul revenind la problema comestibilității ciupercilor. Vei încerca clasificatorul de stacking pentru a vedea dacă scorul poate fi îmbunătățit. Deoarece stacking-ul folosește un meta-estimator (clasificator de al doilea strat) care încearcă să corecteze predicțiile primului strat, unele dintre instanțele clasificate greșit ar putea fi remediate. Aceasta este o problemă extrem de importantă, deoarece comestibilitatea unei ciuperci este cu adevărat o chestiune de viață și de moarte.
Setul de date a fost încărcat și împărțit în seturi de antrenament și de testare. Crezi că stacking-ul poate ajuta la prezicerea comestibilității unei ciuperci cu mai multă încredere?
Acest exercițiu face parte din cursul
Metode de ansamblu în Python
Instrucțiuni pentru exercițiu
- Instanțiază estimatorii din primul strat: un clasificator k-nearest neighbors cu 5 vecini folosind algoritmul ball tree, un clasificator de tip arbore de decizie cu parametrii
min_samples_leaf = 5șimin_samples_split = 15, și un clasificator Gaussian Naive Bayes. - Construiește și antrenează un clasificator de stacking, folosind parametrii
classifiers– o listă care conține clasificatorii din primul strat – șimeta_classifier– regresia logistică implicită.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))))