ComeçarComece de graça

Cogumelos: uma questão de vida ou morte

Vamos concluir o curso revisitando o problema de comestibilidade de cogumelos. Você vai testar o classificador de stacking para ver se a pontuação pode ser melhorada. Como o stacking usa um meta-estimador (classificador de segunda camada) que tenta corrigir as previsões da primeira camada, algumas instâncias classificadas incorretamente podem ser corrigidas. Este é um problema muito importante, já que a comestibilidade de um cogumelo é uma questão de vida ou morte.

O conjunto de dados já foi carregado e dividido em treino e teste. Você acha que o stacking pode ajudar a prever a comestibilidade de um cogumelo com mais confiança?

Este exercício faz parte do curso

Métodos de Ensemble em Python

Ver curso

Instruções do exercício

  • Instancie os estimadores da primeira camada: um k-vizinhos mais próximos com k=5 usando o algoritmo ball tree, um classificador de árvore de decisão com parâmetros min_samples_leaf = 5 e min_samples_split = 15, e um classificador Naive Bayes Gaussiano.
  • Construa e ajuste um classificador de stacking, usando os parâmetros classifiers — uma lista contendo os classificadores da primeira camada — e meta_classifier — a regressão logística padrão.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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))))
Editar e executar o código