CommencerCommencez gratuitement

Régression logistique et sélection de variables

Dans cet exercice, vous allez effectuer une sélection de variables sur l’ensemble d’avis de films (sentiment) en utilisant la régularisation L1. Les variables explicatives et les cibles sont déjà chargées dans X_train et y_train.

Nous allons rechercher la meilleure valeur de C avec GridSearchCV() de scikit-learn, abordé dans le cours prérequis.

Cet exercice fait partie du cours

<cours>Classifieurs linéaires en Python</cours>
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 en validation croisée.
  • Affichez le nombre de variables 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