НачатьНачать бесплатно

Логистическая регрессия и отбор признаков

В этом упражнении мы выполним отбор признаков на наборе данных с оценками тональности кинорецензий, используя L1-регуляризацию. Признаки и целевые значения уже загружены в переменные X_train и y_train.

Мы будем искать оптимальное значение C с помощью GridSearchCV() из scikit-learn — этот метод рассматривался в предыдущем курсе.

Это упражнение является частью курса

Линейные классификаторы в Python

Посмотреть курс

Инструкции к упражнению

  • Создайте объект логистической регрессии с L1-регуляризацией.
  • Найдите значение C, при котором ошибка кросс-валидации минимальна.
  • Выведите количество отобранных признаков для этого значения C.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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))
Редактировать и запускать код