НачатьНачать бесплатно

Грибы: вопрос жизни и смерти

Завершим курс, вернувшись к задаче определения съедобности грибов. Вы примените ансамблевый метод стекинга, чтобы проверить, удастся ли улучшить результат. Поскольку стекинг использует мета-алгоритм (классификатор второго уровня), который пытается исправить ошибки первого уровня, часть неверно классифицированных объектов может быть определена правильно. Это особенно важно: ведь вопрос о съедобности гриба — это буквально вопрос жизни и смерти.

Набор данных уже загружен и разбит на обучающую и тестовую выборки. Как вы думаете, поможет ли стекинг с большей уверенностью предсказать съедобность гриба?

Это упражнение является частью курса

Ансамблевые методы в 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))))
Редактировать и запускать код