Regresión logística y selección de características
En este ejercicio realizaremos la selección de características en el conjunto de datos de opiniones sobre películas utilizando la regularización L1. Las funciones y los objetivos ya están cargados para usted en X_train
y y_train
.
Buscaremos el mejor valor de C
utilizando GridSearchCV()
de scikit-learn, que se trató en el curso previo.
Este ejercicio forma parte del curso
Clasificadores lineales en Python
Instrucciones de ejercicio
- Instanciar un objeto de regresión logística que utiliza la regularización L1.
- Encuentre el valor de
C
que minimice el error de validación cruzada. - Imprime el número de características seleccionadas para este valor de
C
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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))