시작하기무료로 시작하기

Logistic 회귀와 특성 선택

이 연습 문제에서는 L1 정규화를 사용해 영화 리뷰 감성 데이터셋에서 특성 선택을 수행해 보겠습니다. 특성과 타깃은 이미 X_trainy_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))
코드 편집 및 실행