Uma primeira tentativa com bagging
Você viu o que acontece em uma única iteração de um ensemble de bagging. Agora, vamos construir um modelo de bagging personalizado!
Duas funções já foram preparadas para você:
def build_decision_tree(X_train, y_train, random_state=None):
# Toma uma amostra com reposição,
# constrói uma árvore de decisão "fraca",
# e ajusta ao conjunto de treino
def predict_voting(classifiers, X_test):
# Faz as previsões individuais
# e depois combina usando "Voting"
Tecnicamente, a função build_decision_tree() é o que você fez no exercício anterior. Aqui, você vai construir várias dessas árvores e depois combiná-las. Vamos ver se esse ensemble de modelos "fracos" melhora o desempenho!
Este exercício faz parte do curso
Métodos de Ensemble em Python
Instruções do exercício
- Construa os modelos individuais chamando
build_decision_tree(), passando o conjunto de treino e o índiceicomo random state. - Faça a predição dos rótulos do conjunto de teste usando
predict_voting(), com a lista de classificadoresclf_liste as features de entrada de teste.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Build the list of individual models
clf_list = []
for i in range(21):
weak_dt = ____
clf_list.append(weak_dt)
# Predict on the test set
pred = ____
# Print the F1 score
print('F1 score: {:.3f}'.format(f1_score(y_test, pred)))