Ottimizzazione degli iperparametri del bagging
Anche se puoi creare facilmente un classificatore bagging con i parametri di default, è fortemente consigliato ottimizzarli per ottenere prestazioni ottimali. Idealmente, dovresti farlo con la convalida incrociata K-fold.
In questo esercizio, vediamo se riusciamo a migliorare le prestazioni del modello modificando i parametri del classificatore bagging.
Qui passiamo anche il parametro solver='liblinear' a LogisticRegression per ridurre il tempo di calcolo.
Questo esercizio fa parte del corso
Metodi Ensemble in Python
Istruzioni dell'esercizio
- Crea un classificatore bagging usando come base la regressione logistica, con
20stimatori di base,10caratteristiche massime,0.65(65%) campioni massimi (max_samples), ed esegui il campionamento senza reinserimento. - Usa
clf_bagper predire le etichette del set di test,X_test.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Build a balanced logistic regression
clf_base = LogisticRegression(class_weight='balanced', solver='liblinear', random_state=42)
# Build and fit a bagging classifier with custom parameters
clf_bag = ____(____, ____, ____, ____, ____, random_state=500)
clf_bag.fit(X_train, y_train)
# Calculate predictions and evaluate the accuracy on the test set
y_pred = ____
print('Accuracy: {:.2f}'.format(accuracy_score(y_test, y_pred)))
# Print the classification report
print(classification_report(y_test, y_pred))