IniziaInizia gratis

Regressione logistica e selezione delle feature

In questo esercizio eseguiremo la selezione delle feature sul dataset di sentiment delle recensioni di film usando la regolarizzazione L1. Le feature e i target sono già caricati in X_train e y_train.

Cercheremo il valore migliore di C usando GridSearchCV() di scikit-learn, visto nel corso prerequisito.

Questo esercizio fa parte del corso

Classificatori lineari in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia un oggetto di regressione logistica che utilizzi la regolarizzazione L1.
  • Trova il valore di C che minimizza l'errore di cross-validation.
  • Stampa il numero di feature selezionate per questo valore di C.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Specify L1 regularization
lr = LogisticRegression(solver='liblinear', ____)

# Instantiate the GridSearchCV object and run the search
searcher = GridSearchCV(lr, {'C':[0.001, 0.01, 0.1, 1, 10]})
searcher.fit(X_train, y_train)

# Report the best parameters
print("Best CV params", searcher.best_params_)

# Find the number of nonzero coefficients (selected features)
best_lr = searcher.best_estimator_
coefs = best_lr.____
print("Total number of features:", coefs.size)
print("Number of selected features:", np.count_nonzero(coefs))
Modifica ed esegui il codice