Zacznij terazZacznij za darmo

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

Zobacz kurs

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 = 5 i min_samples_split = 15 oraz 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 – oraz meta_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))))
Edytuj i uruchom kod