CommencezCommencez gratuitement

Régression logistique et sélection des caractéristiques

Dans cet exercice, vous ferez une sélection de caractéristiques sur l'ensemble de données d'analyse de sentiment de critiques de films en utilisant la régularisation L1. Les caractéristiques et les cibles sont déjà chargées pour vous dans X_train et y_train.

Nous chercherons la meilleure valeur de C à l'aide de GridSearchCV() de scikit-learn, vu dans le cours préalable.

Cette activité fait partie du cours

Classificateurs linéaires en Python

Voir le cours

Instructions de l’exercice

  • Instanciez un objet de régression logistique qui utilise la régularisation L1.
  • Trouvez la valeur de C qui minimise l'erreur de validation croisée.
  • Affichez le nombre de caractéristiques sélectionnées pour cette valeur de C.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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))
Modifier et exécuter le code