Kom igångKom igång gratis

Logistisk regression och särdragsurval

I den här övningen utför vi särdragsurval på datamängden med filmrecensioners sentiment med hjälp av L1-regularisering. Särdragen och målen är redan inlästa i X_train och y_train.

Vi söker efter det bästa värdet på C med hjälp av scikit-learns GridSearchCV(), som behandlades i förkursen.

Den här övningen är en del av kursen

Linjära klassificerare i Python

Visa kurs

Övningsinstruktioner

  • Skapa ett logistiskt regressionsobjekt som använder L1-regularisering.
  • Hitta det värde på C som minimerar korsvalideringsfelet.
  • Skriv ut antalet valda särdrag för detta värde på C.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod