IniziaInizia gratis

Un modello di bagging più complesso

Dopo aver esplorato i dati dei semiconduttori, costruiamo ora un classificatore bagging per prevedere l'etichetta 'Pass/Fail' date le feature in input.

Il dataset preprocessato è disponibile nel tuo workspace come uci_secom, e i set di training e test sono già stati creati per te.

Poiché il target presenta un forte sbilanciamento tra le classi, usa una regressione logistica "balanced" come stimatore di base.

Ridurremo anche il tempo di calcolo per LogisticRegression con il parametro solver='liblinear', che è un ottimizzatore più veloce rispetto al valore predefinito.

Questo esercizio fa parte del corso

Metodi Ensemble in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia una regressione logistica da usare come classificatore di base con i parametri: class_weight='balanced', solver='liblinear' e random_state=42.
  • Costruisci un classificatore bagging usando la regressione logistica come stimatore di base, specificando il numero massimo di feature pari a 10 e includendo l'out-of-bag score.
  • Stampa l'out-of-bag score per confrontarlo con l'accuracy.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice