Logistic regression і відбір ознак
У цій вправі ви виконаєте відбір ознак для набору даних аналізу тональності кінооглядів, використовуючи 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))