ComeçarComece de graça

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

Ver curso

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