Un model de bagging mai complex
Acum că ai explorat datele despre semiconductori, hai să construim un clasificator de bagging care să prezică eticheta 'Pass/Fail' pe baza caracteristicilor de intrare.
Setul de date preprocesate este disponibil în spațiul tău de lucru ca uci_secom, iar seturile de antrenament și testare au fost deja create.
Deoarece variabila țintă are un dezechilibru mare de clase, folosește o regresie logistică "balanced" ca estimator de bază.
Vom reduce și timpul de calcul pentru LogisticRegression cu parametrul solver='liblinear', un optimizator mai rapid decât cel implicit.
Acest exercițiu face parte din cursul
Metode de ansamblu în Python
Instrucțiuni pentru exercițiu
- Instanțiază o regresie logistică pentru a o folosi ca clasificator de bază, cu parametrii:
class_weight='balanced',solver='liblinear'șirandom_state=42. - Construiește un clasificator de bagging folosind regresia logistică ca estimator de bază, specificând numărul maxim de caracteristici ca
10și incluzând scorul out-of-bag. - Afișează scorul out-of-bag pentru a-l compara cu acuratețea.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))