Un modelo de bagging más complejo
Después de explorar los datos de semiconductores, vamos a construir un clasificador de bagging para predecir la etiqueta 'Pass/Fail' dadas las variables de entrada.
El conjunto de datos preprocesado está disponible en tu espacio de trabajo como uci_secom, y ya tienes creados los conjuntos de entrenamiento y prueba.
Como el objetivo presenta un gran desbalance de clases, usa una regresión logística "balanced" como estimador base.
También reduciremos el tiempo de cómputo de LogisticRegression con el parámetro solver='liblinear', que es un optimizador más rápido que el predeterminado.
Este ejercicio forma parte del curso
Ensemble Methods in Python
Instrucciones del ejercicio
- Instancia una regresión logística para usarla como clasificador base con los parámetros:
class_weight='balanced',solver='liblinear'yrandom_state=42. - Construye un clasificador de bagging usando la regresión logística como estimador base, especificando el número máximo de características como
10e incluyendo el cálculo del out-of-bag score. - Imprime el out-of-bag score para compararlo con la accuracy.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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))