Logistic 회귀와 특성 선택
이 연습 문제에서는 L1 정규화를 사용해 영화 리뷰 감성 데이터셋에서 특성 선택을 수행해 보겠습니다. 특성과 타깃은 이미 X_train과 y_train에 로드되어 있어요.
사전 수강 과정에서 다뤘던 scikit-learn의 GridSearchCV()를 사용해 최적의 C 값을 탐색하겠습니다.
이 연습은 강의의 일부입니다
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))