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
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 = 5emin_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 — emeta_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))))