En mer komplex baggingmodell
Nu när du har utforskat halvledardata är det dags att bygga en baggingklassificerare för att förutsäga etiketten 'Pass/Fail' utifrån indatasärdragen.
Den förbearbetade datamängden finns tillgänglig i din arbetsyta som uci_secom, och tränings- och testmängder har redan skapats åt dig.
Eftersom målvariabeln har en stor klassobalans ska du använda en logistisk regression med "balanced" vikter som basestimator.
Vi minskar också beräkningstiden för LogisticRegression med parametern solver='liblinear', som är en snabbare optimerare än standardvalet.
Den här övningen är en del av kursen
Ensemblemetoder i Python
Övningsinstruktioner
- Instansiera en logistisk regression att använda som basklassificerare med parametrarna:
class_weight='balanced',solver='liblinear'ochrandom_state=42. - Bygg en baggingklassificerare med den logistiska regressionen som basestimator, ange det maximala antalet särdrag till
10och aktivera out-of-bag-poängen. - Skriv ut out-of-bag-poängen för att jämföra den med noggrannheten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))