Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Instantier een logistic regression om te gebruiken als basis-classifier met de parameters: class_weight='balanced', solver='liblinear' en random_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))
Code bewerken en uitvoeren