Грибы: вопрос жизни и смерти
Завершим курс, вернувшись к задаче определения съедобности грибов. Вы примените ансамблевый метод стекинга, чтобы проверить, удастся ли улучшить результат. Поскольку стекинг использует мета-алгоритм (классификатор второго уровня), который пытается исправить ошибки первого уровня, часть неверно классифицированных объектов может быть определена правильно. Это особенно важно: ведь вопрос о съедобности гриба — это буквально вопрос жизни и смерти.
Набор данных уже загружен и разбит на обучающую и тестовую выборки. Как вы думаете, поможет ли стекинг с большей уверенностью предсказать съедобность гриба?
Это упражнение является частью курса
Ансамблевые методы в Python
Инструкции к упражнению
- Инициализируйте алгоритмы первого уровня: классификатор 5 ближайших соседей с использованием алгоритма ball tree, классификатор на основе дерева решений с параметрами
min_samples_leaf = 5иmin_samples_split = 15, а также классификатор на основе наивного байесовского метода Гаусса. - Создайте и обучите ансамблевый классификатор стекинга, используя параметры
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))))