Гриби: питання життя або смерті
Завершімо курс, знову звернувшись до задачі визначення їстівності грибів. Ви спробуєте класифікатор stacking, щоб перевірити, чи можна покращити метрику. Оскільки stacking використовує мета-оцінювач (класифікатор другого шару), який намагається виправити помилки першого шару, деякі неправильно класифіковані приклади можуть бути виправлені. Це дуже важлива задача, адже їстівність гриба — це питання життя або смерті.
Набір даних уже завантажено та розділено на тренувальну й тестову вибірки. Як ви вважаєте, чи допоможе stacking надійніше передбачати їстівність гриба?
Ця вправа є частиною курсу
Ансамблеві методи в Python
Інструкції до вправи
- Створіть оцінювачі першого шару: 5-найближчих сусідів із алгоритмом ball tree, класифікатор на основі дерева рішень з параметрами
min_samples_leaf = 5іmin_samples_split = 15, а також класифікатор Gaussian Naive Bayes. - Побудуйте й навчіть класифікатор stacking, використовуючи параметри
classifiers— список із класифікаторів першого шару — таmeta_classifier— логістичну регресію за замовчуванням.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))))