Ein komplexeres Bagging-Modell
Nachdem du die Halbleiterdaten erkundet hast, bauen wir jetzt einen Bagging-Classifier, um das Label 'Pass/Fail' anhand der Eingangsmerkmale vorherzusagen.
Der vorverarbeitete Datensatz steht dir in deinem Workspace als uci_secom zur Verfügung, und Trainings- sowie Testsets wurden bereits für dich erstellt.
Da das Zielmerkmal stark unausgewogen ist, verwende hier eine "balanced" Logistic Regression als Basis-Schätzer.
Außerdem verkürzen wir die Rechenzeit für LogisticRegression mit dem Parameter solver='liblinear', einem schnelleren Optimierer als der Standard.
Diese Übung ist Teil des Kurses
Ensemble-Methoden in Python
Anleitung zur Übung
- Instanziiere eine Logistic Regression als Basis-Classifier mit den Parametern:
class_weight='balanced',solver='liblinear'undrandom_state=42. - Baue einen Bagging-Classifier unter Verwendung der Logistic Regression als Basis-Schätzer, gib die maximale Anzahl an Merkmalen als
10an und aktiviere den Out-of-Bag-Score. - Gib den Out-of-Bag-Score aus, um ihn mit der Accuracy zu vergleichen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))