Een complexer bagging-model
Nu we de halfgeleidergegevens hebben verkend, gaan we een bagging-classifier bouwen om het label 'Pass/Fail' te voorspellen op basis van de invoerkenmerken.
De voorbewerkte gegevensset is beschikbaar in je werkruimte als uci_secom, en trainings- en testsets zijn al voor je gemaakt.
Omdat de target sterk klasse-ongelijk is, gebruik je hier een "balanced" logistic regression als basis-Estimator.
We verkorten ook de rekentijd voor LogisticRegression met de parameter solver='liblinear', een snellere optimizer dan de standaard.
Deze oefening maakt deel uit van de cursus
Ensemblemethoden in Python
Oefeninstructies
- Instantier een logistic regression om te gebruiken als basis-classifier met de parameters:
class_weight='balanced',solver='liblinear'enrandom_state=42. - Bouw een bagging-classifier met de logistic regression als basis-Estimator, specificeer het maximumaantal features als
10, en neem de out-of-bag-score op. - Print de out-of-bag-score om te vergelijken met de nauwkeurigheid.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))