Aan de slagGa gratis aan de slag

Logistic regression en featureselectie

In deze oefening gaan we featureselectie uitvoeren op de gegevensset met filmrecensie-sentimenten met behulp van L1-regularisatie. De features en targets zijn al voor je ingeladen in X_train en y_train.

We zoeken naar de beste waarde van C met scikit-learn's GridSearchCV(), dat in de vereiste voorkennis-cursus is behandeld.

Deze oefening maakt deel uit van de cursus

Lineaire classificatoren in Python

Cursus bekijken

Oefeninstructies

  • Instantiateer een logistic regression-object dat L1-regularisatie gebruikt.
  • Vind de waarde van C die de kruisvalideringsfout minimaliseert.
  • Print het aantal geselecteerde features voor deze waarde van C.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren