Houby: otázka života a smrti
Zakončeme kurz návratem k problému jedlosti hub. Vyzkoušíš stacking klasifikátor a zjistíš, jestli lze skóre ještě zlepšit. Stacking využívá meta-estimátor (klasifikátor druhé vrstvy), který se snaží opravit předpovědi z první vrstvy – díky tomu mohou být některé chybně klasifikované instance správně přeřazeny. Jde o velmi důležitý problém, protože jedlost houby je skutečně otázkou života a smrti.
Dataset je načtený a rozdělený na trénovací a testovací sadu. Myslíš, že stacking pomůže předpovědět jedlost houby s větší jistotou?
Toto cvičení je součástí kurzu
Ensemble Methods in Python
Pokyny k cvičení
- Vytvoř estimátory první vrstvy: klasifikátor 5 nejbližších sousedů s algoritmem ball tree, klasifikátor rozhodovacího stromu s parametry
min_samples_leaf = 5amin_samples_split = 15a klasifikátor Gaussovské naivní Bayesovy metody. - Sestav a natrénuj stacking klasifikátor s parametry
classifiers– seznam obsahující klasifikátory první vrstvy – ameta_classifier– výchozí logistická regrese.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))))