Bardziej złożony model baggingu
Po zapoznaniu się z danymi dotyczącymi półprzewodników zbudujmy teraz klasyfikator baggingu, który przewiduje etykietę 'Pass/Fail' na podstawie cech wejściowych.
Wstępnie przetworzone dane są dostępne w twoim środowisku jako uci_secom, a zbiory treningowy i testowy zostały już dla ciebie przygotowane.
Ponieważ klasy docelowe są mocno niezbalansowane, użyj jako estymatora bazowego regresji logistycznej z parametrem "balanced".
Aby skrócić czas obliczeń dla LogisticRegression, użyjemy parametru solver='liblinear' – jest to szybszy optymalizator niż domyślny.
To ćwiczenie jest częścią kursu
Metody zespołowe w Pythonie
Instrukcje do ćwiczenia
- Utwórz instancję regresji logistycznej, która posłuży jako klasyfikator bazowy, z następującymi parametrami:
class_weight='balanced',solver='liblinear'irandom_state=42. - Zbuduj klasyfikator baggingu, używając tej regresji logistycznej jako estymatora bazowego – określ maksymalną liczbę cech jako
10i włącz obliczanie wyniku out-of-bag. - Wyświetl wynik out-of-bag, aby porównać go z dokładnością modelu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))