Grzyby: kwestia życia i śmierci
Zakończmy kurs, wracając do problemu jadalności grzybów. Sprawdź, czy klasyfikator stosujący stacking pozwoli poprawić wyniki. Stacking wykorzystuje meta-estymator (klasyfikator drugiej warstwy), który stara się korygować błędne przewidywania pierwszej warstwy – dzięki temu część błędnie sklasyfikowanych przypadków może zostać poprawnie rozpoznana. To niezwykle ważny problem, bo jadalność grzyba to dosłownie kwestia życia i śmierci.
Zbiór danych został wczytany i podzielony na zbiory treningowy i testowy. Czy uważasz, że stacking pomoże przewidywać jadalność grzybów z większą pewnością?
To ćwiczenie jest częścią kursu
Metody zespołowe w Pythonie
Instrukcje do ćwiczenia
- Zainicjalizuj estymatory pierwszej warstwy: klasyfikator 5 najbliższych sąsiadów z algorytmem ball tree, klasyfikator drzewa decyzyjnego z parametrami
min_samples_leaf = 5imin_samples_split = 15oraz klasyfikator Naive Bayes oparty na rozkładzie Gaussa. - Zbuduj i dopasuj klasyfikator stackingowy, używając parametrów
classifiers– listy zawierającej klasyfikatory pierwszej warstwy – orazmeta_classifier– domyślnej regresji logistycznej.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))))