Um modelo de bagging mais complexo
Depois de explorar os dados de semicondutores, vamos agora criar um classificador de bagging para prever o rótulo 'Pass/Fail' a partir das variáveis de entrada.
O conjunto de dados pré-processado está disponível no seu workspace como uci_secom, e os conjuntos de treino e teste já foram criados para você.
Como o alvo tem um forte desbalanceamento entre classes, use uma regressão logística "balanced" como estimador base aqui.
Também vamos reduzir o tempo de computação do LogisticRegression com o parâmetro solver='liblinear', que é um otimizador mais rápido que o padrão.
Este exercício faz parte do curso
Métodos de Ensemble em Python
Instruções do exercício
- Instancie uma regressão logística para usar como classificador base com os parâmetros:
class_weight='balanced',solver='liblinear'erandom_state=42. - Construa um classificador de bagging usando a regressão logística como estimador base, especificando o número máximo de features como
10e incluindo o cálculo do out-of-bag score. - Imprima o out-of-bag score para comparar com a acurácia.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Build a balanced logistic regression
clf_lr = ____
# Build and fit a bagging classifier
clf_bag = ____(____, ____, ____, random_state=500)
clf_bag.fit(X_train, y_train)
# Evaluate the accuracy on the test set and show the out-of-bag score
pred = clf_bag.predict(X_test)
print('Accuracy: {:.2f}'.format(accuracy_score(y_test, pred)))
print('OOB-Score: {:.2f}'.format(____))
# Print the confusion matrix
print(confusion_matrix(y_test, pred))